# Slow USB 2.0

## anarchist

Hi

I got a rather weird problem, I own a Athlonxp on a nforce 2 mobo. It is the asus a7n8x deluxe and as the title already gave away, i am using my usb 2.0 ports. Actually i am using a card reader to read/ write my memorystick pro ultra  II (its the ultra fast version of the memory stick, its able to write about 4 mb/s really neat). In former times, actually when using love sources 2.6.11 or gentoo sources 2.6.11 it wrote to the stick at full speed, always at around 4mb/s and read with 10 mb/s. Now i am using 

```

Linux rentnerschreck 2.6.12-rc2-love1 #1 Mon Apr 18 01:12:13 CEST 2005 i686 AMD Athlon(tm)  AuthenticAMD GNU/Linux 
```

 and it is writing with only about 700 kb/s, well what a downgrade but even more weird is that it partially goes down to about 100 kb/s and that is absolutely not acceptable. 

I got ohci and ehci build in the kernel and the card reader gets loaded as a high speed device, so that is right.

Have a look here:

```

[573591.616362] usb 1-6: new high speed USB device using ehci_hcd and address 12

[573591.708317] ACPI: No ACPI bus support for 1-6

[573591.720985] scsi4 : SCSI emulation for USB Mass Storage devices

[573591.722993] usb-storage: device found at 12

[573591.723190] usb-storage: waiting for device to settle before scanning

[573591.723219] ACPI: No ACPI bus support for 1-6:1.0

[430197.866518]   Vendor: USB2.0    Model: CF  CardReader    Rev:

[430197.866669]   Type:   Direct-Access                      ANSI SCSI revision: 00

[430197.873458] Attached scsi removable disk sdd at scsi4, channel 0, id 0, lun 0

[430197.873547] ACPI: No ACPI bus support for 4:0:0:0

[430197.874916] usb-storage: device scan complete

```

I've never seen anything supicious in the dmesg, but i will post it later because my dmesg is full of funny messages from my little defective dvd rom device 

 :Wink: 

Well my kernel config, i dont think it makes to much sense to post the whole config, also i would not want anybode to read the whole thing, so i will post the relevant parts, namely the usb config part, if anyone might need to know more, do not hesitate to ask.

Kernel config:

```

# USB support

#

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB=y

# CONFIG_USB_DEBUG is not set

#

# Miscellaneous USB options

#

CONFIG_USB_DEVICEFS=y

CONFIG_USB_BANDWIDTH=y

CONFIG_USB_DYNAMIC_MINORS=y

# CONFIG_USB_SUSPEND is not set

# CONFIG_USB_OTG is not set

#

# USB Host Controller Drivers

#

CONFIG_USB_EHCI_HCD=m

CONFIG_USB_EHCI_SPLIT_ISO=y

CONFIG_USB_EHCI_ROOT_HUB_TT=y

CONFIG_USB_OHCI_HCD=m

# CONFIG_USB_OHCI_BIG_ENDIAN is not set

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

# CONFIG_USB_UHCI_HCD is not set

# CONFIG_USB_SL811_HCD is not set

#

# USB Device Class drivers

#

# CONFIG_USB_AUDIO is not set

#

# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem

#

# CONFIG_USB_MIDI is not set

# CONFIG_USB_ACM is not set

CONFIG_USB_PRINTER=m

#

# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information

#

CONFIG_USB_STORAGE=y

# CONFIG_USB_STORAGE_DEBUG is not set

# CONFIG_USB_STORAGE_DATAFAB is not set

# CONFIG_USB_STORAGE_FREECOM is not set

# CONFIG_USB_STORAGE_ISD200 is not set

# CONFIG_USB_STORAGE_DPCM is not set

# CONFIG_USB_STORAGE_USBAT is not set

# CONFIG_USB_STORAGE_SDDR09 is not set

# CONFIG_USB_STORAGE_SDDR55 is not set

# CONFIG_USB_STORAGE_JUMPSHOT is not set

#

# USB Input Devices

#

CONFIG_USB_HID=y

CONFIG_USB_HID_MOUSE_POLLING_INTERVAL=2

CONFIG_USB_HIDINPUT=y

# CONFIG_HID_FF is not set

# CONFIG_USB_HIDDEV is not set

# CONFIG_USB_CPAD is not set

# CONFIG_USB_AIPTEK is not set

# CONFIG_USB_WACOM is not set

# CONFIG_USB_KBTAB is not set

# CONFIG_USB_POWERMATE is not set

# CONFIG_USB_MTOUCH is not set

# CONFIG_USB_EGALAX is not set

# CONFIG_USB_XPAD is not set

# CONFIG_USB_ATI_REMOTE is not set

#

# USB Imaging devices

#

# CONFIG_USB_MDC800 is not set

# CONFIG_USB_MICROTEK is not set

#

# USB Multimedia devices

#

# CONFIG_USB_DABUSB is not set

# CONFIG_USB_VICAM is not set

# CONFIG_USB_DSBR is not set

# CONFIG_USB_IBMCAM is not set

# CONFIG_USB_KONICAWC is not set

# CONFIG_USB_OV511 is not set

# CONFIG_USB_SE401 is not set

# CONFIG_USB_SN9C102 is not set

# CONFIG_USB_STV680 is not set

# CONFIG_USB_PWC is not set

#

# USB Network Adapters

#

# CONFIG_USB_CATC is not set

# CONFIG_USB_KAWETH is not set

# CONFIG_USB_PEGASUS is not set

# CONFIG_USB_RTL8150 is not set

# CONFIG_USB_USBNET is not set

# CONFIG_USB_MON is not set

#

# USB port drivers

#

#

# USB Serial Converter support

#

CONFIG_USB_SERIAL=m

# CONFIG_USB_SERIAL_GENERIC is not set

# CONFIG_USB_SERIAL_BELKIN is not set

# CONFIG_USB_SERIAL_WHITEHEAT is not set

# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set

# CONFIG_USB_SERIAL_CP2101 is not set

# CONFIG_USB_SERIAL_CYPRESS_M8 is not set

# CONFIG_USB_SERIAL_EMPEG is not set

# CONFIG_USB_SERIAL_FTDI_SIO is not set

CONFIG_USB_SERIAL_VISOR=m

# CONFIG_USB_SERIAL_IPAQ is not set

# CONFIG_USB_SERIAL_IR is not set

# CONFIG_USB_SERIAL_EDGEPORT is not set

# CONFIG_USB_SERIAL_EDGEPORT_TI is not set

# CONFIG_USB_SERIAL_GARMIN is not set

# CONFIG_USB_SERIAL_IPW is not set

# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set

# CONFIG_USB_SERIAL_KEYSPAN is not set

# CONFIG_USB_SERIAL_KLSI is not set

# CONFIG_USB_SERIAL_KOBIL_SCT is not set

# CONFIG_USB_SERIAL_MCT_U232 is not set

# CONFIG_USB_SERIAL_PL2303 is not set

# CONFIG_USB_SERIAL_SAFE is not set

# CONFIG_USB_SERIAL_TI is not set

# CONFIG_USB_SERIAL_CYBERJACK is not set

# CONFIG_USB_SERIAL_XIRCOM is not set

# CONFIG_USB_SERIAL_OMNINET is not set

#

# USB Miscellaneous drivers

#

# CONFIG_USB_EMI62 is not set

# CONFIG_USB_EMI26 is not set

# CONFIG_USB_AUERSWALD is not set

# CONFIG_USB_RIO500 is not set

# CONFIG_USB_LEGOTOWER is not set

# CONFIG_USB_LCD is not set

# CONFIG_USB_LED is not set

# CONFIG_USB_CYTHERM is not set

# CONFIG_USB_PHIDGETKIT is not set

# CONFIG_USB_PHIDGETSERVO is not set

# CONFIG_USB_IDMOUSE is not set

# CONFIG_USB_SISUSBVGA is not set

# CONFIG_USB_TEST is not set

#

# USB ATM/DSL drivers

#

#

# USB Gadget Support

#

# CONFIG_USB_GADGET is not set

```

One interesting thing is left to say, i noticed one thing when i played around using device-mapper for encrypting purposes: The memory stick was significantly faster when writing on a xfs partition than on a vfat partition. He made around 2 mb/s and i wasnt using the ultra fast one! So thats the full speed i knew in beforehand.

But anyways have a look at my fstab it might help:

```

# This file is edited by fstab-sync - see 'man fstab-sync' for details

# Copyright 1999-2002 Gentoo Technologies, Inc.

# Distributed under the terms of the GNU General Public License, v2 or later

# $Header: /home/cvsroot/gaming/gamecd/profiles/aa/aux-files/fstab,v 1.1 2003/05/01 03:11:40 livewire Exp $

# /etc/fstab: static file system information.

/dev/sda1               /               xfs             noatime                 0 1

/dev/sdb1               /home           xfs             noatime                 0 2

/dev/sdb2               none            swap            sw                      0 0

/dev/sda2               none            swap            sw                      0 0

/dev/sda3               /mnt/warez      xfs             noatime                 0 0

/dev/sdc1               /media/usbdisk  vfat            sync,user,noatime,noauto,managed        0 0

proc                    /proc           proc            defaults                0 0

tmpfs                   /dev/shm        tmpfs           defaults                0 0

/dev/cdrom              /media/cdrom2   auto            noauto,user             0 0

/dev/cdrw               /media/cdrecorder       auto    noauto,user             0 0

/dev/hdd                /media/floppy4          auto    exec,user,noauto,managed 0 0

```

If you might need more info please ask, really please do it, i need to get my high speed usb back because it takes forever to copy over some mp3s or maps for mapsonic ... and i actually dont want to revert to another kernel because i really really love the love sources  :Wink:  due to the fact that my system wasnt running that smooth even under full load with any other kernel before.

I really really hope that anyone can help

Thanks in beforehand.

Greetings 

Marius

P.S.

The old usb blk device thingy is actually not set, i wished that it was the solution but anyways, it has to bee something else.

----------

## anarchist

This is the message if i put the memory stick into the card reader, i actually forgot to post it

```

[  602.105842] SCSI device sdc: 1947648 512-byte hdwr sectors (997 MB)

[  602.107099] sdc: Write Protect is off

[  602.107161] sdc: Mode Sense: 02 00 00 00

[  602.107223] sdc: assuming drive cache: write through

[  602.109353] SCSI device sdc: 1947648 512-byte hdwr sectors (997 MB)

[  602.110607] sdc: Write Protect is off

[  602.110659] sdc: Mode Sense: 02 00 00 00

[  602.110697] sdc: assuming drive cache: write through

[  602.110738]  sdc: sdc1

```

Another thing is that i need to do " touch /dev/sdc " otherwise he wont recognise the device.

With 2.6.11 he also found the card reader as 4 scsi devices because it has slots for four kinds of cards?

Anybody?

P.S.

The lsusb output

```

Bus 003 Device 001: ID 0000:0000

Bus 002 Device 004: ID 0db0:6970 Micro Star International

Bus 002 Device 003: ID 04b8:0114 Seiko Epson Corp. Perfection 660

Bus 002 Device 002: ID 046d:c50e Logitech, Inc.

Bus 002 Device 001: ID 0000:0000

Bus 001 Device 005: ID 07cc:0500 Carry Computer Eng., Co., Ltd

Bus 001 Device 001: ID 0000:0000

```

----------

## anarchist

Nobody any idea?  :Sad: 

----------

## Onip

it could be the sync option in fstab (is your device /media/usbdisk, isnt'it?). I'm trying to find a way fstab not to use that option

----------

## anarchist

Mhhh the weird thing is that it used to work before with the sync option. The annoying thing without sync is that it takes forever to unmount the stick and you dont know how long the actual copy will take... but i will try the whole thing without sync

----------

## anarchist

Well was a good idea, its now working back on high speed but without sync  :Confused:  But anyways, thanks  :Wink: 

----------

## iZm

 *Quote:*   

> it could be the sync option in fstab (is your device /media/usbdisk, isnt'it?). I'm trying to find a way fstab not to use that option

 

To stop HAL from adding the syc option. In the, "/usr/share/hal/fdi/90defaultpolicy/storage-policy.fdi" file edit this.....

```
<!-- Use noatime and sync options for all hotpluggable or removable

               volumes smaller than 2GB -->

          <match key="volume.size" compare_lt="2147483648">

            <match key="@block.storage_device:storage.hotpluggable" bool="true">

              <merge key="volume.policy.mount_option.sync" type="bool">true</merge>

              <merge key="volume.policy.mount_option.noatime" type="bool">true</merge>

            </match>

            <match key="@block.storage_device:storage.removable" bool="true">

              <merge key="volume.policy.mount_option.sync" type="bool">true</merge>

              <merge key="volume.policy.mount_option.noatime" type="bool">true</merge>

            </match>

          </match>

```

to this....

```
<!-- Use noatime and sync options for all hotpluggable or removable

               volumes smaller than 2GB -->

<!--      <match key="volume.size" compare_lt="2147483648">

            <match key="@block.storage_device:storage.hotpluggable" bool="true">

              <merge key="volume.policy.mount_option.sync" type="bool">true</merge>

              <merge key="volume.policy.mount_option.noatime" type="bool">true</merge>

            </match>

            <match key="@block.storage_device:storage.removable" bool="true">

              <merge key="volume.policy.mount_option.sync" type="bool">true</merge>

              <merge key="volume.policy.mount_option.noatime" type="bool">true</merge>

            </match>

          </match> 

-->

```

I have just commented out the sync part of the file. There may be ( and probably is ) a better way of doing this but, it works.  :Very Happy: 

----------

