# [solved] VT6212 USB2.0 Problems - Drives Stop Responding

## D33T

I recently installed a USB2 PCI card into my computer to better utilize my USB2 external hard drive. The drive worked fine with the USB1.1 ports that are on the motherboard, so I know the drive is operational and that it works well with Linux. The reason I am upgrading is strictly the speed - USB1.1 is wicked slow! I also have a 4-port USB hub in a spare 5 1/4" drive bay. It's a powered hub that connects to a normal USB-A type plug and also works well with the USB1.1 ports on my motherboard. I used to to grab images off of my SD200 with gphoto2 and to intereact with my USB jump drive. The only reason I mention all of this is to prove that it all works.

The USB2 card I installed is based on the VT6212 chipset which, as I have read elsewhere, works with linux through the ehci_hcd module. So, I plugged everything in, did a nice 'modprobe ehci_hcd' and everything looked good. I learned early on that, although it's a "5-port" card, the port inside the machine is the same as the top port on the outside. After I learned that, the machine was seeing everything I plugged into the card.....

```
# lsusb

Bus 001 Device 006: ID 05dc:a400 Lexar Media, Inc. <- the jump drive

Bus 001 Device 003: ID 0409:0058 NEC Corp. HighSpeed Hub <- the 4-port hub

Bus 001 Device 001: ID 0000:0000

Bus 005 Device 004: ID 05e3:0702 Genesys Logic, Inc. USB 2.0 IDE Adapter <- the external usb2 drive enclosure

Bus 005 Device 001: ID 0000:0000

Bus 004 Device 001: ID 0000:0000

Bus 003 Device 001: ID 0000:0000

Bus 002 Device 001: ID 0000:0000
```

I mounted the hard drive in the enclosure and everything seemed to be going well. I was browsing the contents and such without problem. Then, out of the blue, the drive stopped responding after an 'ls -l' command. The entire console hung until I pulled the plug - but none of the info was damaged (as far as I can tell). I also got some errors about bad sectors and such, so I thought the drive might be dying (no problem, the drive's info exists elsewhere already).

I didn't think much of it until I tried to mount the jump drive after rebooting. Again, browsing the contents was no issue, and it never seemed to freeze up. Then, I tried to open a CSV file with kwrite straight fromt he drive...... kwrite didn't load despite the little bouncing kwrite icon doing it's thing for sime time (yes, I'm running KDE....). Trying to open the file with OpenOffice yeilded the same results. Trying to copy the files to the system's drive resulted in the jump drive hanging and the konquerer window freezing. Rebooting allowed me to get the drive running again, but after trying to copy 3 files from the jump drive, the thing hung on the 3rd file and everything was stuck again.

I should also add that the drives are all recognized as scsi devices and mounted as /dev/sdX. Also, both drives are formatted at VFAT (fat32) from linux using 'mkfs.vfat -F 32 /dev/sdX'. Neither drive fails when being used with my laptop (winxp) or my existing USB1.1 ports.

Why is it doing this? Any suggestions of where to look for problems? It seems that everything is working out just fine until I try to use it. I am currently wiping the external USB drive with 'dd if=/dev/zero of=/dev/sda', we'll see if it finishes.....

For reference...

```
# lspci

0000:00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] System Controller (rev 13)

0000:00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] AGP Bridge

0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40)

0000:00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 16)

0000:00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 16)

0000:00:07.4 SMBus: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)

0000:00:08.0 Ethernet controller: Linksys NC100 Network Everywhere Fast Ethernet 10/100 (rev 11)

0000:00:09.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)

0000:00:09.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)

0000:00:09.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63)       <------------------ the controller in question

0000:00:0b.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)

0000:00:0b.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 08)

0000:00:13.0 Unknown mass storage controller: Triones Technologies, Inc. HPT366/368/370/370A/372/372N (rev 04)

0000:01:05.0 VGA compatible controller: nVidia Corporation NV25 [GeForce4 Ti 4200] (rev a3)
```

```
lspci -v

-snip-

0000:00:09.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63) (prog-if 20 [EHCI])

        Subsystem: VIA Technologies, Inc. USB 2.0

        Flags: bus master, medium devsel, latency 32, IRQ 10

        Memory at fb002000 (32-bit, non-prefetchable)

        Capabilities: [80] Power Management version 2

-snip-
```

```
lspci -vv

-snip-

0000:00:09.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63) (prog-if 20 [EHCI])

        Subsystem: VIA Technologies, Inc. USB 2.0

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-

        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

        Latency: 32, cache line size 10

        Interrupt: pin C routed to IRQ 10

        Region 0: Memory at fb002000 (32-bit, non-prefetchable)

        Capabilities: [80] Power Management version 2

                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)

                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

-snip-
```

Any help would be appreciated! Thanks...

----------

## D33T

Seems I was able to fix my own problem.

After scoping out the gentoo wiki, I came across the advanced installation howto. One important piece of information in there....

 *Quote:*   

>  USB support - Three primary items to be concerned with here...
> 
>     * If you have usb2 add the EHCI module as <m> the output recieved from lspci is important here as you cannot have both ohci AND uhci both included. you must choose one or the other and add it as a module
> 
>     * EHCI HCD (USB 2.0) support
> ...

 

See that? The problem was, genkernel (yes, I used genkernel, I've never used it before and I wanted to try it.....) simply added all three modules. I added them all to the /etc/modules.autoload.d/kernel-2.6 because I didn't know any better. I was planning on removing ohci since my system uses uhci, but I didn't associate my ehci problems with this. I just ran an 'rmmod ohci_hcd' and now everything on the VIA VT6212 controller is working great, and with a good amount of speed (~23MB/s).

Hope this helps others.

----------

## patrick

Hi D33T,

I have the same problems you have. I have a VIA VT6212L.

I disabled all uhci and ohci and alas the problem remains.

After playing an avi it stops after a few seconds.

This is really annoying. If i use the firewire, my drive is ok.

Kind regards,

Patrick

----------

