Титла: Проблем със скоростта на usb storage устройствата
Публикувано от: PhobosK в Oct 15, 2005, 21:31
Здравейте, Имам странен проблем със скоростта на трансфер с всички usb устройства които се разпознават като usb storage - KINGMAX usb flash 256M, SONY mp3 player и няколко други. Когато прехвърлям файлове ОТ тези устройства няма проблем със скоростта (тя е около 6-8 М/сек), но ако прехвърлям файлове КЪМ тези устройства, скоростта пада драстично до 30-40 к/сек Ето и малко повече информация: Примерен код |
dmesg
usb 4-1: new high speed USB device using ehci_hcd and address 7 Initializing USB Mass Storage driver... scsi0 : SCSI emulation for USB Mass Storage devices usbcore: registered new driver usb-storage USB Mass Storage support registered. usb-storage: device found at 7 usb-storage: waiting for device to settle before scanning Vendor: KINGMAX Model: USB Flash Disk Rev: 2.00 Type: Direct-Access ANSI SCSI revision: 02 Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 usb-storage: device scan complete sda: Unit Not Ready, sense: : Current: sense key: Unit Attention Additional sense: Not ready to ready change, medium may have changed sda : READ CAPACITY failed. sda : status=1, message=00, host=0, driver=08 sd: Current: sense key: Unit Attention Additional sense: Not ready to ready change, medium may have changed sda: test WP failed, assume Write Enabled sda: assuming drive cache: write through sda: Unit Not Ready, sense: : Current: sense key: Unit Attention Additional sense: Not ready to ready change, medium may have changed sda : READ CAPACITY failed. sda : status=1, message=00, host=0, driver=08 sd: Current: sense key: Unit Attention Additional sense: Not ready to ready change, medium may have changed sda: test WP failed, assume Write Enabled sda: assuming drive cache: write through sda: Unit Not Ready, sense: : Current: sense key: Unit Attention Additional sense: Not ready to ready change, medium may have changed SCSI device sda: 512000 512-byte hdwr sectors (262 MB) sda: Write Protect is off sda: Mode Sense: 03 00 00 00 sda: assuming drive cache: write through sda: sda1 Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
lsusb
Bus 004 Device 007: ID 0ea0:2168 Ours Technology, Inc. Transcend JetFlash 2.0 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 003 Device 004: ID 046d:c216 Logitech, Inc. Bus 003 Device 001: ID 0000:0000 Bus 002 Device 005: ID 066f:4200 SigmaTel, Inc. STIr4200 IrDA Bridge Bus 002 Device 004: ID 046d:0840 Logitech, Inc. QuickCam Express Bus 002 Device 001: ID 0000:0000 Bus 001 Device 003: ID 04a9:220d Canon, Inc. CanoScan N670U/N676U/LiDE 20 Bus 001 Device 001: ID 0000:0000
cat /proc/scsi/usb-storage/0
Host scsi0: usb-storage Vendor: USB Product: Flash Disk Serial Number: None Protocol: Transparent SCSI Transport: Bulk Quirks:
sfdisk -l
Disk /dev/sda: 1000 cylinders, 16 heads, 32 sectors/track Units = cylinders of 262144 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System /dev/sda1 * 0+ 999 1000- 255984 b W95 FAT32 /dev/sda2 0 - 0 0 0 Empty /dev/sda3 0 - 0 0 0 Empty /dev/sda4 0 - 0 0 0 Empty
lsusb -v
Bus 004 Device 007: ID 0ea0:2168 Ours Technology, Inc. Transcend JetFlash 2.0 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0ea0 Ours Technology, Inc. idProduct 0x2168 Transcend JetFlash 2.0 bcdDevice 2.00 iManufacturer 1 USB iProduct 2 Flash Disk iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 39 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 MaxPower 200mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 1 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1
lsmod |grep usb -i
usb_storage 72832 2 scsi_mod 123432 3 sd_mod,usb_storage,sg usblp 11008 0 hci_usb 13000 6 bluetooth 42564 17 bnep,rfcomm,l2cap,sco,hci_usb usbhid 45216 0 usbcore 112252 10 usb_storage,xpad,stir4200,usblp,hci_usb,usbhid,ehci_hcd,quickcam,uhci_hcd
cat /sys/block/sda/device/max_sectors
128
uname -r
2.6.13
|
Опитах да променя "max_sectors": echo 128 >/sys/block/sda/device/max_sectors echo 1024 >/sys/block/sda/device/max_sectors
но това нямаше никакъв ефект върху скоростта на трансфер.
Използвам Mandriva Linux 2005LE. Освен това този проблем не съществува под WinXP и Win98 (на същата машина).
Ако някой може да помогне ще съм му много благодарен.
Титла: Проблем със скоростта на usb storage устройствата
Публикувано от: ray в Oct 16, 2005, 10:30
Здравей, Имах същият проблем само преди седмица, оказа се че проблема е в последните ядра (2.6.12.Х и 2.6.13, само най-новите 2.6.12 ядра са проблемни). Накратко казано устройствата с "vfat" файлова система се монтират с опция "sync", но има и някаква грешка така че реално се прави 'sync' след всеки записан блок и затова скоростта пада драстично. Но още по-лошото е че това буквално скапва USB-то (това го има в една дискусия в Gentoo-ML). Цитирам от там: "броят на записванията на едно USB е ограничен - около 100,000 записа", затова не се препоръчва да се ползват за чести записи (вместо хард например). Тук проблема е това много често синхронизиране/записване (след всеки блок) което буквално скапва устройството - в дискусията има пример за развалено чисто ново USB след един единствен запис на много голям файл/файлове. Решението (за мен) бе да сменя опцията за монтиране от "sync" --> "async" и нещата се оправиха. Тъй като ползвам "dbus-hal-ivman" за автоматично монтиране на устройствата трябваше да редактирам файл от конфигурацията на "ivman" добавяйки "async". Успех.Румен
Титла: Проблем със скоростта на usb storage устройствата
Публикувано от: PhobosK в Oct 16, 2005, 15:28
@ray, благодаря ти изключително много за информацията. Единственото нещо което не ми бе хрумнало да опитам бяха опциите за mount-ване. За по-лесно прибавих няколко policy правила на hal за "volume.policy.mount_option.sync" и нещата си дойдоха на място. Благодаря ти още веднаж.
|