2005-03-30 00:11:34

by Ron Gage

[permalink] [raw]
Subject: Continuing woes - Yenta PCMCIA and USB 2.0 Cardbus Card

Greetings:

I am trying to get a generic cardbus based USB 2.0 card working with an
external USB hard drive. Even though I have received some good help to date,
things are still not going well.

The original problem was that inserting the cardbus card into my laptop would
cause the entire PCMCIA system to die instantly. This problem is fixed -
inserting the card no longer kills the PCMCIA system.

What appears to be happening now is that there are codepath problems in the
EHCI/UHCI/OHCI code as they relate to the SCSI Disk driver. All this is
tested against 2.6.11.6 on a Slackware 9.1 based laptop.

The USB drive works perfectly (albiet very slowly) when plugged directly into
the laptop's USB 1.1 port.

When the USB drive is plugged into the USB 2.0 cardbus card, the drive is ID'd
correctly (make/model), but the driver can not read the partition table.
Attempting to mount the drive doesn't work. Unplugging the USB drive causes
the lockup to unlock.

Plugging a USB keydrive into the USB 2.0 card causes no problems. Drive is
ID'd, make/model read, partition table read, can read/write/mount the key
drive without issue. Same when plugging the keydrive into the laptop's
USB1.1 port.

Laptop is an HP Pavilion N5150, Intel USB chipset (UHCI). Cardbus card is
generic ALI based USB chipset (EHCI/OHCI). USB drive is a Sony VAIO external
case for a 2.5" drive. The chip in the usb drive has no manufacturer
markings on it, just the following character sequences: CS881BAG, 0451B0C104,
107

HELP!!!!


--
Ron Gage - Pontiac, Michigan
(MCP, LPIC1, A+, Net+)


2005-03-30 10:02:59

by Magnus Damm

[permalink] [raw]
Subject: Re: Continuing woes - Yenta PCMCIA and USB 2.0 Cardbus Card

Hello,

On Tue, 29 Mar 2005 19:06:19 -0500, Ron Gage <[email protected]> wrote:
> Laptop is an HP Pavilion N5150, Intel USB chipset (UHCI). Cardbus card is
> generic ALI based USB chipset (EHCI/OHCI). USB drive is a Sony VAIO external
> case for a 2.5" drive. The chip in the usb drive has no manufacturer
> markings on it, just the following character sequences: CS881BAG, 0451B0C104,
> 107

I've got an external 2.5" VAIO case (VAIO original yeah, right) that
works ok what I can tell with USB2 on my laptop. Are the id:s below
the same as yours?

T: Bus=04 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 8 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=04cf ProdID=8818 Rev=b0.07
S: Manufacturer=Myson Century, Inc.
S: Product=USB Mass Storage Device
S: SerialNumber=100
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 10mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=05 Prot=50 Driver=usb-storage
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

The 2.5" case also works with USB 1.1, but it is kind of funky. I
guess it requires lots of power. So much power that I have to use a
hub with external power to connect it to a winxp laptop. Connecting it
directly to the laptop does not work for some strange reason - MANY
other devices are powered directly from that laptop.

I recently realized that there are no firewire pccards on the market
today that can power my firewire-powered cd-burner without using an
external ac adapter. My Apple G4 Mac can power the darn thing over
firewire though. Maybe the same thing goes for USB2 host controllers
on pccard? Maybe you need an external ac adapter?

/ magnus

2005-03-30 11:20:54

by Ron Gage

[permalink] [raw]
Subject: Re: Continuing woes - Yenta PCMCIA and USB 2.0 Cardbus Card

Magnus:

On Wednesday 30 March 2005 05:02, Magnus Damm wrote:
> Hello,
>
> On Tue, 29 Mar 2005 19:06:19 -0500, Ron Gage <[email protected]> wrote:
> > Laptop is an HP Pavilion N5150, Intel USB chipset (UHCI). Cardbus card
> > is generic ALI based USB chipset (EHCI/OHCI). USB drive is a Sony VAIO
> > external case for a 2.5" drive. The chip in the usb drive has no
> > manufacturer markings on it, just the following character sequences:
> > CS881BAG, 0451B0C104, 107
>
> I've got an external 2.5" VAIO case (VAIO original yeah, right) that
> works ok what I can tell with USB2 on my laptop. Are the id:s below
> the same as yours?
>
Here are the ID's of mine...

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=04cf ProdID=8818 Rev=b0.07
S: Manufacturer=Myson Century, Inc.
S: Product=USB Mass Storage Device
S: SerialNumber=100
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 10mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=05 Prot=50 Driver=usb-storage
E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms


> T: Bus=04 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 8 Spd=480 MxCh= 0
> D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
> P: Vendor=04cf ProdID=8818 Rev=b0.07
> S: Manufacturer=Myson Century, Inc.
> S: Product=USB Mass Storage Device
> S: SerialNumber=100
> C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 10mA
> I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=05 Prot=50 Driver=usb-storage
> E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Looks like we have basically the same device.

> on pccard? Maybe you need an external ac adapter?

This would be remotely possible but I would discount it being probable. You
see, a drive requires the most power at spin up. This thing spins up just
fine regardless of what port I have it plugged into. On top of that, the USB
card has a power adaptor already (plugs into the laptop's USB port) that I
always use.

Besides, how would I connect an external power supply to this? No connector
on the drive assembly...

--
Ron Gage - Pontiac, Michigan
(MCP, LPIC1, A+, Net+)

2005-03-30 22:47:54

by Ron Gage

[permalink] [raw]
Subject: Re: Continuing woes - Yenta PCMCIA and USB 2.0 Cardbus Card

On Wednesday 30 March 2005 05:02, Magnus Damm wrote:
> I recently realized that there are no firewire pccards on the market
> today that can power my firewire-powered cd-burner without using an
> external ac adapter. My Apple G4 Mac can power the darn thing over
> firewire though. Maybe the same thing goes for USB2 host controllers
> on pccard? Maybe you need an external ac adapter?

Ok, I have eliminated power as a possibility by routing the secondary USB
connector for the drive to a powered USB hub. No difference, the drive still
spins up, and the system still can not read the partition table (the drive is
known to have a good EXT3 partition on it).

Here are the specifics on the USB card I am using from dmesg:

PCI: Enabling device 0000:06:00.0 (0000 -> 0002)
ohci_hcd 0000:06:00.0: ALi Corporation USB 1.1 Controller (#2)
ohci_hcd 0000:06:00.0: irq 11, pci mem e0858000
ohci_hcd 0000:06:00.0: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
PCI: Enabling device 0000:06:00.3 (0000 -> 0002)
ehci_hcd 0000:06:00.3: ALi Corporation USB 2.0 Controller (#2)
ehci_hcd 0000:06:00.3: irq 11, pci mem e087e000
ehci_hcd 0000:06:00.3: new USB bus registered, assigned bus number 3
ehci_hcd 0000:06:00.3: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 6 ports detected

The output from lspci -vv:

06:00.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03) (prog-if
10 [OHCI])
Subsystem: ALi Corporation USB 1.1 Controller
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: 16 (20000ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 21000000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1+,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

06:00.3 USB Controller: ALi Corporation USB 2.0 Controller (rev 01) (prog-if
20 [EHCI])
Subsystem: ALi Corporation USB 2.0 Controller
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: 64 (20000ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 21001000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] #0a [2090]



And of course, here is the dmesg output showing the drive not being read:

usb 3-1: new high speed USB device using address 2
scsi1 : SCSI emulation for USB Mass Storage devices
Vendor: IC25N040 Model: ATCX04-0 Rev: CA4O
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB)
sda: assuming drive cache: write through
sda:SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
unable to read partition table
Attached scsi disk sda at scsi1, channel 0, id 0, lun 0
USB Mass Storage device found at 2



HELP!!!!!




--
Ron Gage - Pontiac, Michigan
(MCP, LPIC1, A+, Net+)

2005-04-23 13:34:58

by James Courtier-Dutton

[permalink] [raw]
Subject: Re: Continuing woes - Yenta PCMCIA and USB 2.0 Cardbus Card

Ron Gage wrote:
> Greetings:
>
> I am trying to get a generic cardbus based USB 2.0 card working with an
> external USB hard drive. Even though I have received some good help to date,
> things are still not going well.
>
> The original problem was that inserting the cardbus card into my laptop would
> cause the entire PCMCIA system to die instantly. This problem is fixed -
> inserting the card no longer kills the PCMCIA system.
>
> What appears to be happening now is that there are codepath problems in the
> EHCI/UHCI/OHCI code as they relate to the SCSI Disk driver. All this is
> tested against 2.6.11.6 on a Slackware 9.1 based laptop.
>
> The USB drive works perfectly (albiet very slowly) when plugged directly into
> the laptop's USB 1.1 port.
>
> When the USB drive is plugged into the USB 2.0 cardbus card, the drive is ID'd
> correctly (make/model), but the driver can not read the partition table.
> Attempting to mount the drive doesn't work. Unplugging the USB drive causes
> the lockup to unlock.
>
> Plugging a USB keydrive into the USB 2.0 card causes no problems. Drive is
> ID'd, make/model read, partition table read, can read/write/mount the key
> drive without issue. Same when plugging the keydrive into the laptop's
> USB1.1 port.
>
> Laptop is an HP Pavilion N5150, Intel USB chipset (UHCI). Cardbus card is
> generic ALI based USB chipset (EHCI/OHCI). USB drive is a Sony VAIO external
> case for a 2.5" drive. The chip in the usb drive has no manufacturer
> markings on it, just the following character sequences: CS881BAG, 0451B0C104,
> 107
>
> HELP!!!!
>
>

I have a similar problem.
I have a HP NC6000. It uses the Yenta PCMCIA kernel driver.
If I insert a PCMCIA card that uses cardmgr, it all works fine.
If I insert a Cardbus PCMCIA card it instead shows up as a PCI card, and
cardmgr does not even see it.
Now, here is the real problem. I can activate the card, and read PCI
information from it, but as soon as I do something like this:
value = inb(port);

I.e. The first inb/inw/inl command that the driver tries to do, locks up
the PC.

Does anyone have any ideas how to fix this?

James