--- Begin Message ---
Package: udev, libusb, usbmount, usb-modeswitch, usb-modeswitch-data
Distribution: Debian 6.0.2.1-i386-DVD, Updated to Debian 6.0.3-i386-DVD, Using
Debian 6.0.3-i386-Update-DVD-Volumes 1 and 2
Hardware: MSI MS-7108 Motherboard with Intel Pentium 4, LGA 775, 3.0 GHz, Dual
Processor CPU,
Intel 848P, ICH5, 2 GB of 400 MHz DDR SDRAM, 8 USB 2.0 ports (USB 1.1
compatible)
Original problem: As shown in detail in my previous message included below
under "----- Original Message ----- ".
Resolution: The problem was caused by intended or unintended interaction of
several software packages
with the kernel usb driver and libraries.
Here is how I have made it work:
A) Open a "root" terminal window.
B) In the directory "/etc/udev", replace every occurence of the word "SYSFS"
with the word "ATTR", in all of
the files.
C) Unplug any network cable attached to the computer.
D) Shutdown every service listed below. Should you need any of these, you can
turn them on one-by-one
later, to see what they do (if anything for some) to your USB 2.0 connection.
Note that you can shut these
down using the "Services" menu item in the "Administration" menu of the "Gnome
Display Manager", or as
described in the README files in the directories "/etc/rc0.d", "/etc/rc1.d",
"/etc/rc2.d", "/etc/rc3.d", "/etc/rc4.d",
"/etc/rc5.d".
Services to be shut down:
--------------------------
armagetronad-dedicated
ax25spyd
bind9
bluetooth
boinc-client
cwdaemon
cyphesis-cpp
decnet
epos
forked-daapd
fuse
gom
hdparm
ifupdown-clean
infon-server
module-init-tools
monopd
mountall-bootclean.sh
mountnfs-bootclean.sh
mountoverflowtmp
mtab-sh
mt-daapd
procps
spamassassin
speech-dispatcher
udev-mtab
udev
unattanded-upgrades
wesnoth-1.8-server
xpilot-ng-server
E) Go to the directory "/var/log". Rename the file "syslog" into "syslog.save"
and the file "daemon.log" into
"daemon.log.save".
F) Close the "root" terminal window, and log-out of the system. Then shut-the
system down from the "log-in"
window, and turn the power off.
G) Make sure that the USB 2.0 disk drive you have been intending to connect to
the system is NOT connected
to the system anymore, and bring the system back up.
H) Open a "root" terminal window and go to the directory "/var/log". Examine
the file "syslog" which has just
been created by the system as it has booted up with a text editor that lets you
move up and down the file contents
easily. There should not be any ERROR messages regarding the "ehci-hcd" and
"uhci-hcd" drivers. None of the
services you have shut down should appear. Make utterly sure that the
name-server daemon "named" is not running
("bind9" service listed above shuts that down), as it will fill the syslog file
with error lines at a very large rate (tens of
lines per second usually).
I) Close the "root" terminal window, and log-out of the system. Then shut-the
system down from the "log-in"
window, and turn the power off.
J) Connect the USB 2.0 disk to a USB 2.0 port on the machine, and power the
DISK up only. Wait until the disk
initializes itself. Put your hand on the disk enclosure to make sure that the
disk head is not moving 30 seconds after
the disk has been powered. Should the disk spin-up, move the head for a while,
and then spin down, then spin
back-up again, and repeat these steps continuously, power the disk down,
disconnect it from the USB port, and
then power the disk back up again. It should initialize briefly and then it
should quietly spin without moving the disk head. Should it fail to stop
moving the disk head, your USB 2.0 disk assembly needs to be debugged separately
to make sure that it works, before connecting it to the system. Should the
disk quietly spin after initialization, plug
it into another USB 2.0 port (with the machine off), just in case the original
USB 2.0 port you have plugged it in is
damaged. The disk should continue to spin quietly without moving the disk
head. Should it start moving the disk head
continuously, your USB 2.0 port wiring on your machine has to be checked to
make sure that they work
independently.
K) With the USB 2.0 Disk assembly attached to a USB 2.0 port and with the disk
powered and spinning quietly,
turn the power to the machine on and let it boot up. There should be no error
messages by udevd, or ehci-hcd,
especially messages regarding to "port switch", "cable fault", "EMI",
"connection problem". Should there be any
messages like shown, shut the machine down and plug the disk into yet another
port until no messages appear or
you are out of ports to plug in. Continue, should no messages as shown
appear...
L) Log in to the system and make sure that the USB 2.0 disk is connected
through ehci-hcd with a speed of
480 MB/sec, using "usbview", "lsusb" or "Disk Utility 2.3.1" by RedHat (this
comes with the Debian 6.0.2.1
distribution).
M) You can now format and partition the disk, should it be a blank new disk, or
read the files from it by mounting it.
>From this point on, everything is back to normal. You may bring some of the
>services you may have shut down, back
up and make sure that they do not eat up you USB 2.0 connection.
N) Below is some actual disk write timing I have taken today by saving some 160
GB of dump files (97 GB, 28 GB and 48 GB long, three files) onto the Seagate
Barracuda ST#10005 24AS, 1 TB drive I mentioned in my original
message, through a USB 2.0 port. The USB 2.0 write rate is about 18.2
MB/second, matching the speed obtained
using Microsoft Windows Vista with the same drive, continuous through the
entire 97 GB of data dump using "dd"
and 8 MB of input and output buffers. I produced the "dump" files using the
linux "dump" command, by dumping "/"
onto another internal IDE hard-disk at 49 MB/second. Due to the small block
size of the standard "dump" (10240
bytes per block), the "dump" runs much faster when outputting to an internal
IDE or SATA hard disk. The resulting
"dump" file can then be moved with a much larger block size (8 MB per block)
onto the USB 2.0 hard drive using
"dd". "cp" will also work, but "dd" lets one choose the optimum buffer sizes,
while the "cp" normally does not.
root@yg-pc-linux:/home/yekta# dump -0 -f /Backup/full_dump_11102011_sl -\A
/Backup/file_List_11102011_sl /dev/sdc1
DUMP: Date of this level 0 dump: Thu Nov 10 09:41:40 2011
DUMP: Dumping /dev/sdc1 (/) to /Backup/full_dump_11102011_sl
DUMP: Label: none
DUMP: Writing 10 Kilobyte records
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 94774428 blocks.
DUMP: Volume 1 started with block 1 at: Thu Nov 10 09:42:47 2011
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: 7.20% done at 22739 kB/s, finished in 1:04
DUMP: 24.48% done at 38675 kB/s, finished in 0:30
DUMP: 41.83% done at 44051 kB/s, finished in 0:20
DUMP: 59.13% done at 46700 kB/s, finished in 0:13
DUMP: 74.79% done at 47254 kB/s, finished in 0:08
DUMP: 91.63% done at 48246 kB/s, finished in 0:02
DUMP: Closing /Backup/full_dump_11102011_sl
DUMP: Volume 1 completed at: Thu Nov 10 10:15:15 2011
DUMP: Volume 1 94698340 blocks (92478.85MB)
DUMP: Volume 1 took 0:32:28
DUMP: Volume 1 transfer rate: 48613 kB/s
DUMP: 94698340 blocks (92478.85MB) on 1 volume(s)
DUMP: finished in 1948 seconds, throughput 48613 kBytes/sec
DUMP: Date of this level 0 dump: Thu Nov 10 09:41:40 2011
DUMP: Date this dump completed: Thu Nov 10 10:15:15 2011
DUMP: Average transfer rate: 48613 kB/s
DUMP: Archiving dump to /Backup/file_List_11102011_sl
DUMP: DUMP IS DONE
root@yg-pc-linux:/home/yekta#
root@yg-pc-linux:/Backup# dd if=/Backup/full_dump_11102011_sl
of=/media/usb0/full_dump_11102011_sl ibs=8000000c obs=8000000c
12121+1 records in
12121+1 records out
96971100160 bytes (97 GB) copied, 5377.97 s, 18.0 MB/s
root@yg-pc-linux:/Backup#
root@yg-pc-linux:/Backup# dd if=/Backup/ygbackup.tar
of=/media/usb0/ygbackup.tar ibs=8000000c obs=8000000c
3497+1 records in
3497+1 records out
27980309072 bytes (28 GB) copied, 1535.67 s, 18.2 MB/s
root@yg-pc-linux:/Backup#
root@yg-pc-linux:/Backup# dd if=/Backup/full_dump_10212011_of
of=/media/usb0/full_dump_10212011_of ibs=8000000c obs=8000000c
6020+1 records in
6020+1 records out
48163133440 bytes (48 GB) copied, 2647.52 s, 18.2 MB/s
root@yg-pc-linux:/Backup#
-- Yekta
Yekta Gursel, Ph. D.
Address:
5444 Baldwin Avenue
Temple City
California, 91780-2624
Phone: (626) 454-4029
E-mail: yekta.gur...@att.net
----- Original Message -----
From: yekta.gursel
To: sub...@bugs.debian.org
Cc: yekta.gursel
Sent: Wednesday, October 26, 2011 9:50 AM
Subject: USB driver does not use EHCI (USB 2.0) after detecting it in Debian
6.0.2.1...
I have determined that the USB connection and USB storage drivers in Debian
6.0.2.1 with a USB 2.0 enabled,
single chip, dual processor (3.0 GHz) motherboard (MSI MS-7108) with 2 GB of
RAM is about 18 to 20 times
slower in moving large amounts of data (60 +GB, two complete Debian
distributions together) from the internal hard
disks to an external USB connected drive than those in Microsoft Corporation's
Microsoft Windows Vista Home
Premium with the same external USB connected drive, on a single chip, single
processor (2.4 GHz) motherboard
with 1.5 GB of RAM with a PCI USB 2.0 adapter card.
Hardware used:
Hard disk drive: Seagate Barracuda ST310005 24AS, 1 TB SATA drive (about $50)
USB adapter with drive power supply: JMicron Technology Corp. / JMicron USA
Technology Corp.
JM20337 Hi-Speed
USB to SATA & PATA Combo Bridge (about $10)
Transfer rate in Microsoft Windows Vista: 18.0 MB/second minimum sustained all
through the complete 60+ GB
transfer
Transfer rate in Debain 6.0.2.1 L:inux: 1.1 MB/Second maximum sustained
after the first 150 MB of data.
I stopped the
transfer after 1 hour.
Software clues:
Output from "lsusb" in Debian 6.0.2.1: Note that EHCI is detected at 480 M
(USB 2.0) with 8 ports,
but UHCI at 12M is
connected to the 2 port hubs which are the
accessible
connectors.
root@yg-pc-linux:/home/yekta# lsusb
Bus 005 Device 002: ID 152d:2338 JMicron Technology Corp. / JMicron USA
Technology Corp. JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@yg-pc-linux:/home/yekta# lsusb -v -t
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=stor., Driver=usb-storage, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M
root@yg-pc-linux:/home/yekta#
Output from "usb-devices" in Debian 6.0.2.1: Note that USB 2.0 is assigned to
the external USB storage (EHCI),
but the USB speed is left at 12 M (USB 1.1, UHCI).
root@yg-pc-linux:/home/yekta# usb-devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=02.06
S: Manufacturer=Linux 2.6.32-5-686 ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=0000:00:1d.7
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0001 Rev=02.06
S: Manufacturer=Linux 2.6.32-5-686 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0001 Rev=02.06
S: Manufacturer=Linux 2.6.32-5-686 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.1
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0001 Rev=02.06
S: Manufacturer=Linux 2.6.32-5-686 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.2
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=05 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0001 Rev=02.06
S: Manufacturer=Linux 2.6.32-5-686 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.3
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=152d ProdID=2338 Rev=01.00
S: Manufacturer=JMicron
S: Product=USB to ATA/ATAPI bridge
S: SerialNumber=000000000000
C: #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=2mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
-- Yekta
Yekta Gursel, Ph. D.
Address:
5444 Baldwin Avenue
Temple City
California, 91780-2624
Phone: (626) 454-4029
E-mail: yekta.gur...@att.net
--- End Message ---