Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

usb mass storage host
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=16533
Страница 2 от 2

Автор:  DanielDimov [ Пет Май 31, 2019 4:09 pm ]
Заглавие:  Re: usb mass storage host

Миро, за да си решите проблема с калпавите флашки може да подходите с тестване. Какво имам предвид: много по-лесно ще ви е да напишете една тестваща програма за PC (за Windows или Linux - според това какви са ви клиентите), която да натоварва флашката със сериозно писане и четене и то дълго време. В гаранцията на продукта, който им продавате, добавяте един ред в който се казва, че може да работи само с драйвове преминали теста. Давате им програмата и да се спасяват...

Между другото такива програми може и да има вече готови - трябва да се потърси. Ако има и са на всичкото отгоре и open-source - бинго!

Автор:  Wise [ Пет Май 31, 2019 4:42 pm ]
Заглавие:  Re: usb mass storage host

Хм...нещо не съм фен на идеята за ПИСАНЕ по флашката до припадък!
Ще се скапе!
//такаси мисля де :cry:

Автор:  DanielDimov [ Пет Май 31, 2019 4:50 pm ]
Заглавие:  Re: usb mass storage host

Една такава програмка е H2testw - току-що пуснах да се изтества една флашка, която много си я обичам и ползвам за инсталации на различни операционни с-ми...

Автор:  DanielDimov [ Пет Май 31, 2019 5:21 pm ]
Заглавие:  Re: usb mass storage host

Ето друга (по-добра): Check Flash

Автор:  miro_atc [ Пет Май 31, 2019 5:38 pm ]
Заглавие:  Re: usb mass storage host

Проблемът е че някои чисто нови флашки от магазина дават грешки и то на ниво USB комуникация, transaction error, stall-ват си еднпоинти и т.н. При писане и кофти сектори обикновено фейлва на ниво scsi (команда 10 и т.н.) и това е различно, защото е на по-високо ниво. Можеш да ретрайнеш командата и т.н. Докато на ниското ниво нещата са по-сложни и то доста по-сложни. Зависи къде се е отнесло, на ниво пакети по еднпоинт примерно има едно битче, по което двете страни се ориентират дали ретрайваш пакета или пращаш следващ. При transaction error обаче не е ясно дали девайса е видял пакета или хоста не е видял акнолиджа и съответно единия може да очаква едно флагче, а ти да пращаш друго. А разминете ли се става боза, при която девайса реагира като си сталне ендпоинта. Стигне ли се до това трябва през нулевия ендпоинт да свалиш стала, ама понеже е мас-сторидж преди да махнеш стала трябва да ресетнеш scsi-то. Това е пълна малоумщина от страна на USB, но такъв е живота.
Та с две думи това са проблеми, които би трябвало да ги има само ако хардуера е кофти. Износен флаш не прави такива проблеми. Затова и при малките стекове няма и обработка. Резултатът е че комуникацията умира и флашката се отвява до power cycle. Ако се случи по време на запис (а то се случва) като бонус и файловата система остава омазана. По мои наблюдения проблемите са със сравнително нови и сравнително големи флашки. Имам чувството че китаеца просто ползва някакви стари процесорчета и им е наблъскал повечко флаш и те не могат да смогнат с обработките, затова се бавят. Може и аз да ги тормозя повечко и не знам USB прекъсванията ли изтърват, или препълват буфери, но комуникацията с тях буквално умира. Много често това го прави на 1-я или втория запис след включване. Явно тогава имат някакви вътрешни обработки и или се замислят дълбоко или тотално се отвяват.
Сега разбира се лесно е да кажеш на клиентите да си сменят скапаните флашки... Това го правехме, въпросът е че при РС тая флашка видимо работи, даже бавенията не се усещат заради write кеширането. И така клиента остава с усещането, че не флашката е скапана, а нашия продукт. Затова го боря, даже се надявах че съм го преборил, ама днес ме зарадваха че пак имало проблем с някаква флашка...

Автор:  DanielDimov [ Пет Май 31, 2019 6:19 pm ]
Заглавие:  Re: usb mass storage host

Аз набързо изтествах няколко флашки (нови, стари, скъпи и евтитни) с втората програма и да ти кажа доста добре си личи кое е качествено и кое - боклук.

Страница 2 от 2 Часовете са според зоната UTC + 1 час [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/