# USB for mass storage on Systemax 64-bit system [SOLVED]

## barefootcoder

I have a Systemax box with dual Xeon 2.8Ghz CPUs (nice, screaming server), running 2.6.15 (gentoo-sources-2.6.16-r7 x86_64).  Everything works fine ATM.

But now I need to get the USB system working so I can hook up an ADS Tech USBX-833 HD kit.  I see from a cursory search that others have gotten this device working.  I'm not having any luck, but I don't think the problem is the ADS cage per se.  I never had any USB devices hooked up to this box, and didn't even have it turned on in the kernel.  So I went in and did the following:

```
<*> Support for Host-side USB

[ ]   USB verbose debug messages

---   Miscellaneous USB options

[*]   USB device filesystem

[ ]   Enforce USB bandwidth allocation (EXPERIMENTAL)

[ ]   Dynamic USB minor allocation (EXPERIMENTAL)

[ ]   USB selective suspend/resume and wakeup (EXPERIMENTAL)

---   USB Host Controller Drivers

<M>   EHCI HCD (USB 2.0) support

[ ]     Full speed ISO transactions (EXPERIMENTAL)

[ ]     Root Hub Transaction Translators (EXPERIMENTAL)

< >   ISP116X HCD support

<M>   OHCI HCD support

< >   UHCI HCD (most Intel and VIA) support

< >   SL811HS HCD support

---   USB Device Class drivers

< >   USB Modem (CDC ACM) support

< >   USB Printer support

--- NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'

--- may also be needed; see USB_STORAGE Help for more information

<M> USB Mass Storage support

[ ]   USB Mass Storage verbose debug

[ ]   Datafab Compact Flash Reader support (EXPERIMENTAL)

[ ]   Freecom USB/ATAPI Bridge support

[ ]   ISD-200 USB/ATA Bridge support

[ ]   Microtech/ZiO! CompactFlash/SmartMedia support

[ ]   USBAT/USBAT02-based storage support (EXPERIMENTAL)

[ ]   SanDisk SDDR-09 (and other SmartMedia) support (EXPERIMENTAL)

[ ]   SanDisk SDDR-55 SmartMedia support (EXPERIMENTAL)

[ ]   Lexar Jumpshot Compact Flash Reader (EXPERIMENTAL)
```

which seems to look okay on the surface:

```
cid boot # lsmod

Module                  Size  Used by

smbfs                  70280  3 

nfs                   210856  0 

lockd                  68496  1 nfs

sunrpc                163656  2 nfs,lockd

ohci_hcd               22020  0 

usb_storage            40452  0 

ehci_hcd               33032  0 
```

```
cid boot # dmesg | grep -i usb

usbcore: registered new driver usbfs

usbcore: registered new driver hub

usbmon: debugfs is not available

Initializing USB Mass Storage driver...

usbcore: registered new driver usb-storage

USB Mass Storage support registered.

ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
```

but, looking deeper, things don't quite seem right:

```
cid boot # ls /proc/bus/usb/

cid boot # ls /proc/scsi/

device_info  scsi  sg/

cid boot # cat /proc/scsi/scsi 

Attached devices:

Host: scsi0 Channel: 00 Id: 00 Lun: 00

  Vendor: ATA      Model: ST380817AS       Rev: 3.42

  Type:   Direct-Access                    ANSI SCSI revision: 05

Host: scsi3 Channel: 00 Id: 00 Lun: 00

  Vendor: ATA      Model: ST3250823AS      Rev: 3.03

  Type:   Direct-Access                    ANSI SCSI revision: 05

Host: scsi4 Channel: 00 Id: 00 Lun: 00

  Vendor: ATA      Model: ST3250823AS      Rev: 3.03

  Type:   Direct-Access                    ANSI SCSI revision: 05

Host: scsi5 Channel: 00 Id: 00 Lun: 00

  Vendor: ATA      Model: ST3250823AS      Rev: 3.03

  Type:   Direct-Access                    ANSI SCSI revision: 05

Host: scsi6 Channel: 00 Id: 00 Lun: 00

  Vendor: ATA      Model: ST3250823AS      Rev: 3.03

  Type:   Direct-Access                    ANSI SCSI revision: 05
```

Am I missing something in the kernel? or is it truly a problem with this particular device?  I don't know that I have any other USB storage devices to try out, but perhaps I can scrounge something up.

The drive in the enclosure is a(n unformatted) Seagate Barracuda 320Gb, if that makes any difference.

Any thoughts from anyone?Last edited by barefootcoder on Thu Dec 14, 2006 1:45 am; edited 1 time in total

----------

## NeddySeagoon

barefootcoder,

I don't see any evidence of the SCSI Disk layer being loaded.

You Need SCSI Disk support in your kernel as all USB storage devices appear as SCSI

----------

## barefootcoder

 *NeddySeagoon wrote:*   

> I don't see any evidence of the SCSI Disk layer being loaded.
> 
> You Need SCSI Disk support in your kernel as all USB storage devices appear as SCSI

 

Sorry; I thought the contents of /proc/scsi/scsi would show that.  We have a SATA RAID array on this box, and those drives show up as SCSI disks (for whatever reason), so the SCSI stuff is turned on.  For reference, here's that screen in menuconfig:

```
<*> RAID Transport Class

<*> SCSI device support

[*]   legacy /proc/scsi/ support

---   SCSI support type (disk, tape, CD-ROM)

<*>   SCSI disk support

<M>   SCSI tape support

<M>   SCSI OnStream SC-x0 tape support

<*>   SCSI CDROM support

[ ]     Enable vendor-specific extensions (for SCSI CDROM)

<*>   SCSI generic support

< >   SCSI media changer support

---   Some SCSI devices (e.g. CD jukebox) support multiple LUNs

[*]   Probe all LUNs on each SCSI device

[ ]   Verbose SCSI error reporting (kernel size +=12K)

[ ]   SCSI logging facility

SCSI Transport Attributes  --->

SCSI low-level drivers  --->
```

Does that help?

----------

## NeddySeagoon

barefootcoder,

Your

```
<M>   OHCI HCD support 
```

looks odd on an Intel Xeon box, I would have expected UHCI USB 1.1

Is the wrong USB 1.1 module making a mess of things?

Hopefully you woin't need USB 1.1 - 12Mbit is very slow for a disk.

----------

## barefootcoder

 *NeddySeagoon wrote:*   

> Your
> 
> ```
> <M>   OHCI HCD support 
> ```
> ...

 

Well, that's possible.  I wasn't sure how to determine which one was the right one.  But I was hoping ...

 *NeddySeagoon wrote:*   

> Hopefully you woin't need USB 1.1 - 12Mbit is very slow for a disk.

 

... right, I was hoping that.  If it falls back on USB1 I'm prolly screwed anyways. <g>

But I will switch to UHCI (changing nothing else) and we'll see if that makes a difference.

----------

## NeddySeagoon

barefootcoder,

```
lspci
```

wll show your USB root hubs.  emerge pciutils if you don't already have it.

----------

## barefootcoder

 *NeddySeagoon wrote:*   

> 
> 
> ```
> lspci
> ```
> ...

 

Really?  Because I don't see anything about USB in there at all, and I just assumed that was because the USB interface was build into the mobo instead of being a PCI card (but then I'm fairly hardware-illiterate).  Here's my lspci output:

```
cid boot # lspci

00:00.0 Host bridge: Intel Corporation E7520 Memory Controller Hub (rev 0c)

00:00.1 Class ff00: Intel Corporation E7525/E7520 Error Reporting Registers (rev 0c)

00:01.0 System peripheral: Intel Corporation E7520 DMA Controller (rev 0c)

00:02.0 PCI bridge: Intel Corporation E7525/E7520/E7320 PCI Express Port A (rev 0c)

00:04.0 PCI bridge: Intel Corporation E7525/E7520 PCI Express Port B (rev 0c)

00:06.0 PCI bridge: Intel Corporation E7520 PCI Express Port C (rev 0c)

00:1c.0 PCI bridge: Intel Corporation 6300ESB 64-bit PCI-X Bridge (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 0a)

00:1f.0 ISA bridge: Intel Corporation 6300ESB LPC Interface Controller (rev 02)

00:1f.1 IDE interface: Intel Corporation 6300ESB PATA Storage Controller (rev 02)

00:1f.2 RAID bus controller: Intel Corporation 6300ESB SATA RAID Controller (rev 02)

00:1f.3 SMBus: Intel Corporation 6300ESB SMBus Controller (rev 02)

01:00.0 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge A (rev 09)

01:00.1 PIC: Intel Corporation 6700/6702PXH I/OxAPIC Interrupt Controller A (rev 09)

01:00.2 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge B (rev 09)

01:00.3 PIC: Intel Corporation 6700PXH I/OxAPIC Interrupt Controller B (rev 09)

02:03.0 RAID bus controller: Marvell Technology Group Ltd. MV88SX6081 8-port SATA II PCI-X Controller (rev 03)

06:01.0 Ethernet controller: Intel Corporation 82541GI/PI Gigabit Ethernet Controller (rev 05)

06:02.0 Ethernet controller: Intel Corporation 82541GI/PI Gigabit Ethernet Controller (rev 05)

07:01.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
```

(I haven't had the opportunity to reboot the server with UHCI instead of OHCI, BTW, but that's scheduled in about 2 hours.)

Thanx so much for your time.

----------

## NeddySeagoon

barefootcoder,

Hmm - thats interesting.  Your machine has 8 PCI buses (not slots). The

```
00:1f.1 IDE interface: Intel Corporation 6300ESB PATA Storage Controller (rev 02)

00:1f.2 RAID bus controller: Intel Corporation 6300ESB SATA RAID Controller (rev 02)
```

numbers at the front are 

```
PCI Bus:Device:Function
```

As you say - USB is not listed, which makes me think your USB is not attached vai a PCI interface.

PCI s a standard way of attaching things to computers but its has been a limiting factor for a long time now, thats why you have 8 buses. Built in hardware uses the same electrical interface but the motherboard supplier does not fit a socket to the mainboard.

----------

## barefootcoder

 *NeddySeagoon wrote:*   

> As you say - USB is not listed, which makes me think your USB is not attached vai a PCI interface.
> 
> PCI s a standard way of attaching things to computers but its has been a limiting factor for a long time now, thats why you have 8 buses. Built in hardware uses the same electrical interface but the motherboard supplier does not fit a socket to the mainboard.

 

Ah.  So, what does that tell us?  If the USB isn't attached via PCI, then how would it be attached?

Still another hour before my scheduled reboot to see if changing OHCI to UHCI fixes anything.  In the meantime I found a small USB flash drive, verified that it worked on Windows, then plugged it in to my USB on this server.  It does receive power (something I couldn't verify from the ADS Tech drive, since it has its own power supply), but I still don't see any new /dev/sd* devices showing up.  I'm going to try to set up USB support on another server around here as well and see if I have any further luck with that one.

Poking around in /proc, I did find this:

```
cid ~ # cat /proc/devices 

Character devices:

  1 mem

  2 pty

  3 ttyp

  4 /dev/vc/0

  4 tty

  4 ttyS

  5 /dev/tty

  5 /dev/console

  5 /dev/ptmx

  7 vcs

 10 misc

 13 input

 21 sg

 29 fb

128 ptm

136 pts

180 usb

189 usb_device

202 cpu/msr

203 cpu/cpuid

Block devices:

  1 ramdisk

  2 fd

  7 loop

  8 sd

  9 md

 11 sr

 22 ide1

 65 sd

 66 sd

 67 sd

 68 sd

 69 sd

 70 sd

 71 sd

128 sd

129 sd

130 sd

131 sd

132 sd

133 sd

134 sd

135 sd

253 device-mapper

254 mdp
```

but I can't really tell if that's telling us anything or not.

EDIT: In some old doco I had lying around, I believe I found the mobo model #: 6024H-TRB.  (The manufacturer is Systemax.)  Perhaps that helps somehow.  I'll see if I can find some specs for that board online.

FURTHER EDIT: Okay, despite what that doc said, that's the model # for the system, not the mobo.  Proper mobo model # is X6DHT-G.  HTH.

----------

## wtberks

I am also setting up a Systemax server running dual Xeon 2.66GHz.  When I run lspci, I get something totally different:

```
00:00.0 Host bridge: Intel Corporation 5000V Chipset Memory Controller Hub (rev b1)

00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev b1)

00:08.0 System peripheral: Intel Corporation 5000 Series Chipset DMA Engine (rev b1)

00:10.0 Host bridge: Intel Corporation 5000 Series Chipset Error Reporting Registers (rev b1)

00:10.1 Host bridge: Intel Corporation 5000 Series Chipset Error Reporting Registers (rev b1)

00:10.2 Host bridge: Intel Corporation 5000 Series Chipset Error Reporting Registers (rev b1)

00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1)

00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1)

00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1)

00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1)

00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)

00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)

00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)

00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)

00:1d.3 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09)

00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)

00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09)

00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)

00:1f.2 SATA controller: Intel Corporation 631xESB/632xESB SATA Storage Controller AHCI (rev 09)

00:1f.3 SMBus: Intel Corporation 631xESB/632xESB/3100 Chipset SMBus Controller (rev 09)

01:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)

01:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)

02:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)

02:02.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E3 (rev 01)

04:00.0 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)

04:00.1 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)

07:01.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)

```

I have the Supermicro X7DVL-E motherboard.

----------

## NeddySeagoon

barefootcoder,

According to your motherboard manual, (pp 4-12) your USB devices can be disabled.

If you are still having problems, can you check this BIOS setting please.

On the good news front - you do have USB 2.0

----------

## NeddySeagoon

wtberks,

You have a different chipset with different devices attached via PCI interfaces.

Its a feature, not a problem

----------

## barefootcoder

Sorry to be so long in getting back to this thread!  So much stuff came up that I had to put this project on hold for a bit and I just now got back to it.

 *NeddySeagoon wrote:*   

> According to your motherboard manual, (pp 4-12) your USB devices can be disabled.
> 
> If you are still having problems, can you check this BIOS setting please.

 

YES!  That was exactly the problem.  I turned it on in the BIOS and now everything works.  Thanx so much for your time.

 *NeddySeagoon wrote:*   

> On the good news front - you do have USB 2.0

 

And, if I'm not pushing my luck by asking one more question, what's a good way to tell if my USB device is actually using USB2?

----------

## NeddySeagoon

barefootcoder,

You can tell from the dmesg entry.

Since your USB device is a disk, you can test the transfer rate. If its much over 1Mb/sec, its too fast for USB 1.1.

```
hdparm -tT /dev/sd....
```

The two numbers are the speed at which data can be read from the buffer on the drive (normally much higher)  and the sustained transfer rate.

On USB 2, 40Mb/sec for either is good going.

----------

