Comments 33
Почему бы не записать туда большой файл, а потом не прочитать его оттуда, попутно измеряя скорость чтения?
+32
Месье не ищет легких путей.
+15
Тем более, что флэшка то может и поддреживать USB 3.0, но скорость ее будет низкая.
Если зайти на usb-flash-drives.whoratesit.com/ и посмотреть результаты по флешкам Kingston DataTraveler 3.0 (автор не уточнил модель), то можно увидить разницу в 5-6 раз по скорости на разных моделях!
Если зайти на usb-flash-drives.whoratesit.com/ и посмотреть результаты по флешкам Kingston DataTraveler 3.0 (автор не уточнил модель), то можно увидить разницу в 5-6 раз по скорости на разных моделях!
+1
Если скорость будет ниже, чем 33Мб/с, то уже не имеет значения, 3.0 там или 2.0
+5
Честно говоря, исследование производит сильное впечатление.
Но предпочитаю заливать многогиговый видеофайл, беспрерывно глядя на показатель скорости передачи в файловом менеджере.
Конечно, получается не настолько надёжно; но зато на порядок проще, чем в DOS перезагружаться.
Но предпочитаю заливать многогиговый видеофайл, беспрерывно глядя на показатель скорости передачи в файловом менеджере.
Конечно, получается не настолько надёжно; но зато на порядок проще, чем в DOS перезагружаться.
+2
Да и присутствует некоторая медитативность в наблюдении за скоростью и прогрессбаром.
+3
предпочитаю заливать многогиговый видеофайл, беспрерывно глядя на показатель скорости передачи в файловом менеджере
time $(cp file.avi /mnt/myfleshka && umount /mnt/myfleshka)
же :-)0
Хаб «Интерфейсы». Ну-ну.
Я аж на календарь посмотрел, но нет, не пятница.
Ничего вроде
Статье не хватает тега «садомазо».
Воспользуемся документацией Intel 8 Series / С220 Series Chipset Family Platform Controller Hub Datasheet
Я аж на календарь посмотрел, но нет, не пятница.
Ничего вроде
lsusb -v
перед этим на ум не пришло?+3
Если у Вас есть накопитель USB 3.0, представьте, пожалуйста, результат работы lsusb -v, чтобы дать развернутый ответ.
0
Сейчас в ближайшем доступе вообще только Mac OS и без USB 3.0 портов.
lsusb -v показывает поле bcdUSB для устройств.
Сам не проверял, не на чем.
lsusb -v показывает поле bcdUSB для устройств.
A device must report a value of 0300H in the bcdUSB field of its Device Descriptor
Сам не проверял, не на чем.
0
Не могу ответить за Linux, но в OSX:
~ $ system_profiler SPUSBDataType USB Hi-Speed Bus: ... iPhone: Product ID: 0x12a8 Vendor ID: 0x05ac (Apple Inc.) Version: 6.02 Serial Number: Speed: Up to 480 Mb/sec Manufacturer: Apple Inc. Location ID: 0xfd120000 / 4 Current Available (mA): 500 Current Required (mA): 500 Extra Operating Current (mA): 500 Bluetooth USB Host Controller: Product ID: 0x821f Vendor ID: 0x05ac (Apple Inc.) Version: 1.31 Speed: Up to 12 Mb/sec Manufacturer: Apple Inc. Location ID: 0xfa113000 / 6 Current Available (mA): 500 Current Required (mA): 0
0
1. Дескрипторы устройств, доступные для просмотра с помощью различных информационных утилит индицируют потенциальные возможности устройства. Скоростной режим, установленный для USB порта при подключении устройства, не всегда соответствует возможностям, декларированным в дескрипторах.
Устройство, декларирующее поддержку USB 3.0, может работать в режиме USB 2.0 из-за заводских недоработок, неисправного кабеля и многих других причин. При этом содержимое дескрипторов может указывать на поддержку режима USB 3.0.
Спецификацией USB рекомендовано, чтобы устройство выдавало разный набор дескрипторов в зависимости от реальной установленной скорости. Но у нас нет гарантии, что эта рекомендация соблюдена разработчиками флешки.
Конечно, содержимое дескрипторов устройства — это более достоверный источник информации, чем надпись на флешке и клятвы продавца. Но по причинам, указанным выше, достоверность отлична от 100 процентов.
Именно стремление довести достоверность до 100% побудила нас на экстремально низкоуровневые исследования.
2. Другой метод – проследить в диспетчере устройств, какой контроллер является родительским для флешки (USB 2.0 EHCI или USB 3.0 XHCI), также неэффективен, так как, согласно спецификации, контроллер USB 3.0 XHCI может поддерживать все виды устройств: от Low-Speed до Super Speed. Поэтому, из того, что для флешки родительским контроллером является xHCI не следует, что устройство работает в режиме Super Speed.
Устройство, декларирующее поддержку USB 3.0, может работать в режиме USB 2.0 из-за заводских недоработок, неисправного кабеля и многих других причин. При этом содержимое дескрипторов может указывать на поддержку режима USB 3.0.
Спецификацией USB рекомендовано, чтобы устройство выдавало разный набор дескрипторов в зависимости от реальной установленной скорости. Но у нас нет гарантии, что эта рекомендация соблюдена разработчиками флешки.
Конечно, содержимое дескрипторов устройства — это более достоверный источник информации, чем надпись на флешке и клятвы продавца. Но по причинам, указанным выше, достоверность отлична от 100 процентов.
Именно стремление довести достоверность до 100% побудила нас на экстремально низкоуровневые исследования.
2. Другой метод – проследить в диспетчере устройств, какой контроллер является родительским для флешки (USB 2.0 EHCI или USB 3.0 XHCI), также неэффективен, так как, согласно спецификации, контроллер USB 3.0 XHCI может поддерживать все виды устройств: от Low-Speed до Super Speed. Поэтому, из того, что для флешки родительским контроллером является xHCI не следует, что устройство работает в режиме Super Speed.
+1
Спасибо за разъяснения, было бы хорошо это в статье сразу написать, чтоб понятно было зачем всё так сложно.
Но в итоге получается что всё равно тестируется не конечное устройство, а связка конкретный хост-контроллер и конкретное устройство. Ведь недоработки могут быть и в контроллере теоретически. Либо недоработки в устройстве могут привести к тому, что с разными контроллерами будут установлены разные скоростные режимы.
Вот еще что нашел
У меня /proc/bus/usb отсутствует, но зато есть
Как Вы думаете, можно этому доверять?
Но в итоге получается что всё равно тестируется не конечное устройство, а связка конкретный хост-контроллер и конкретное устройство. Ведь недоработки могут быть и в контроллере теоретически. Либо недоработки в устройстве могут привести к тому, что с разными контроллерами будут установлены разные скоростные режимы.
Вот еще что нашел
/proc/bus/usb/devices output format:
Legend:
d = decimal number (may have leading spaces or 0's)
x = hexadecimal number (may have leading spaces or 0's)
s = string
Topology info:
T: Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=dddd MxCh=dd
| | | | | | | | |__MaxChildren
| | | | | | | |__Device Speed in Mbps
| | | | | | |__DeviceNumber
| | | | | |__Count of devices at this level
| | | | |__Connector/Port on Parent for this device
| | | |__Parent DeviceNumber
| | |__Level in topology for this bus
| |__Bus number
|__Topology info tag
Speed may be:
1.5 Mbit/s for low speed USB
12 Mbit/s for full speed USB
480 Mbit/s for high speed USB (added for USB 2.0);
also used for Wireless USB, which has no fixed speed
5000 Mbit/s for SuperSpeed USB (added for USB 3.0)
У меня /proc/bus/usb отсутствует, но зато есть
root@server:~# cat /sys/bus/usb/devices/usb*/speed
480
480
12
Как Вы думаете, можно этому доверять?
0
С точки зрения производительности — вполне. Если судить с точки зрения функциональности, то информации недостаточно.
Предположительно, у Вас в эксплуатации достаточно новая, но не самая современная платформа, оснащенная контроллерами USB 1.1 и USB 2.0. High-Speed устройства скоммутированы на EHCI, а Full-Speed — на UHCI/OHCI (скорее всего, UHCI, так как вероятнее всего — это Intel). Для недоразумений места почти не осталось.
И тем не менее, какими бы могли быть сюрпризы в данной архитектуре USB?
Сценарий 1. Устройство с характеристикой 12 Mbit/s может оказаться два-нольным, но подключенным к USB 1.1 UHCI/OHCI по причине деградации контактов разъема или в силу плохого качества интерфейсного кабеля (косичек подключения разъемов на лицевой панели десктопа). Это легко определяется любым софтом, типа USB Info, UTLite etc., так как USB 2.0 устройство «отдает» два-нольные дескрипторы.
Сценарий 2. У Вас платформа типа Intel P55 или новее, но без встроенного в чипсет USB 3.0, реализованная не с помощью контроллеров-компаньонов 2.0+1.1, а с использованием архитектуры Rate Matching Hub. По сути, ситуация аналогична выше упомянутой, с той лишь разницей, что сложнее понять, почему устройство работает по Full-Speed. Но причины возможного даунгрейда прежние.
С появлением USB 3.0 количество вариантов увеличивается. Ничто не мешает китайскому производителю сделать два-нольную флешку, коммутируя ее автономный контроллер на пять ламелей разъема USB 3.0 (заглушив при этом четыре ламели USB 2.0). Девайс при этом будет подключен к xHCI-контроллеру на системной платформе, но не будет обеспечивать Super Speed, передавая данный по High-Speed. Такая ситуация очень cложно отслеживается. Особенно, если не загружена драйверная поддержка USB Flash. В силу того, что при корректной реализации платформы все USB 3.0 устройства до этого момента должны по умолчанию коммутироваться на USB 2.0 контроллер.
Предположительно, у Вас в эксплуатации достаточно новая, но не самая современная платформа, оснащенная контроллерами USB 1.1 и USB 2.0. High-Speed устройства скоммутированы на EHCI, а Full-Speed — на UHCI/OHCI (скорее всего, UHCI, так как вероятнее всего — это Intel). Для недоразумений места почти не осталось.
И тем не менее, какими бы могли быть сюрпризы в данной архитектуре USB?
Сценарий 1. Устройство с характеристикой 12 Mbit/s может оказаться два-нольным, но подключенным к USB 1.1 UHCI/OHCI по причине деградации контактов разъема или в силу плохого качества интерфейсного кабеля (косичек подключения разъемов на лицевой панели десктопа). Это легко определяется любым софтом, типа USB Info, UTLite etc., так как USB 2.0 устройство «отдает» два-нольные дескрипторы.
Сценарий 2. У Вас платформа типа Intel P55 или новее, но без встроенного в чипсет USB 3.0, реализованная не с помощью контроллеров-компаньонов 2.0+1.1, а с использованием архитектуры Rate Matching Hub. По сути, ситуация аналогична выше упомянутой, с той лишь разницей, что сложнее понять, почему устройство работает по Full-Speed. Но причины возможного даунгрейда прежние.
С появлением USB 3.0 количество вариантов увеличивается. Ничто не мешает китайскому производителю сделать два-нольную флешку, коммутируя ее автономный контроллер на пять ламелей разъема USB 3.0 (заглушив при этом четыре ламели USB 2.0). Девайс при этом будет подключен к xHCI-контроллеру на системной платформе, но не будет обеспечивать Super Speed, передавая данный по High-Speed. Такая ситуация очень cложно отслеживается. Особенно, если не загружена драйверная поддержка USB Flash. В силу того, что при корректной реализации платформы все USB 3.0 устройства до этого момента должны по умолчанию коммутироваться на USB 2.0 контроллер.
+1
Флешка покупалась для того, чтобы проверить ряд возможностей новой и неисследованной платформы Tyan S5533. Подключение ее к EHCI на другой плате показало, что в дескрипторах указаны значения, соответствующие High Speed. Возникла идея, что при подключении к xHCI контроллер флешки должен выдавать другие дескрипторы, соответствующий Super Speed. Как говорится, идея нашлась, а осадочек остался :)
Пришлось рыть фундаментально.
Пришлось рыть фундаментально.
0
Насколько я помню, теоретическая максимальная скорость USB 2.0 недостижима из-за высокой паузы между сигналами. На практике максимальная скорость раза в полтора меньше
0
Еще один важный момент: содержимое дескрипторов USB устройства (которые доступны для просмотра средствами ОС или отдельными утилитами), используется для информирования программного обеспечения о поддерживаемых режимах и не используется в процедуре выбора скоростного режима порта. Последняя выполняется исключительно аппаратно, ведь чтение дескрипторов можно выполнить только после того, как скорость порта уже установлена. Именно поэтому существует вероятность «подлога» – декларации режима USB 3.0 для устройства, не поддерживающего этот режим. При этом такой «подлог» не приведет к нарушению работы устройства, поскольку дескрипторы не имеют прямого влияния на процедуру выбора скоростного режима. Из этого следует, что мы не можем полностью доверять содержимому дескрипторов.
+1
UFO just landed and posted this here
В USB 3.0 устройстве мы имеем олдскульный USB 2.0 интерфейс из 4-х сигналов (Дата+, Дата-, земля и питание) и пять линий для общения собственно по USB 3.0 (извините, напомню: RX+, RX- и TX+, TX- плюс земля). Недобросовестный производитель может использовать только сигналы USB2, затерминировав или оставив в воздухе сигналы из USB 3.0. Процесс распознавания флешки в этом случае будет выполняться только по интерфейсу USB 2.0.
Но? несмотря на это, флешка может обслуживаться контроллером XHCI (его USB2-подсистемой). Напомним, что контроллер XHCI состоит из двух подсистем: USB2.0 и USB3.0. Поэтому из того факта, что в диспетчере устройств родительским устройством является контроллер XHCI, не следует, что используется режим Super-Speed.
Но? несмотря на это, флешка может обслуживаться контроллером XHCI (его USB2-подсистемой). Напомним, что контроллер XHCI состоит из двух подсистем: USB2.0 и USB3.0. Поэтому из того факта, что в диспетчере устройств родительским устройством является контроллер XHCI, не следует, что используется режим Super-Speed.
0
UFO just landed and posted this here
Один из вариантов реакции — переход в режим USB 2.0 с использованием "старых" сигнальных цепей USB 2.0.
Даже в том случае, если контроллер откажется работать с устройством и не выполнит переход в режим
USB 2.0 аппаратно, то это может сделать драйвер, изменив содержимое регистров Port Super Speed Enable
(обнулив бит, соответствующий данному порту).
Если мы тестируем, используя готовые драйвера и утилиты, то данный процесс от нас скрыт. Именно поэтому решено было работать напрямую с оборудованием.
Даже в том случае, если контроллер откажется работать с устройством и не выполнит переход в режим
USB 2.0 аппаратно, то это может сделать драйвер, изменив содержимое регистров Port Super Speed Enable
(обнулив бит, соответствующий данному порту).
Если мы тестируем, используя готовые драйвера и утилиты, то данный процесс от нас скрыт. Именно поэтому решено было работать напрямую с оборудованием.
+1
Я может чего не понимаю но не проще ли сделать
и посмотреть на скорость записи?
dd if=bigfile of=/dev/sda1
и посмотреть на скорость записи?
0
Спасибо за статью. Лишней данная публикация, не будет!
0
Sign up to leave a comment.
Как убедиться, что флешка работает в USB 3.0?