2001-02-03 20:22:05

by Eric Sandeen

[permalink] [raw]
Subject: "kaweth" usb ethernet driver in 2.4?

I'm wondering about the status of the "kaweth" Kawasaki LSI KL5KUSB100
USB to Ethernet Controller driver for 2.4. According to
http://www.hiru.aoba.yokohama.jp/%7eura/USB/usbether.html, this chipset
is used in the 3Com USB Network Adapter, Linksys USB10T, D-Link DSB-650,
SMC 2102USB, Netgear EA101, and a few other USB ethernet adapters.

The driver is included with the USB stuff for 2.2, but not in 2.4.

It also doesn't seem to work in 2.2. :) The original development of
this driver was going on at http://drivers.rd.ilan.net/kaweth/ but there
have been no updates for quite some time.

Donald Becker had a driver at one point as well, and there's still a
link at http://www.scyld.com/usb/ethernet.html, but the link is broken
now, and I don't have the code.

I have one of these beasts, and I'd like to get it working - I haven't
done any USB _or_ ethernet work for Linux, so it'll be an uphill climb
fro me. Anybody else have one, and have some time to collaborate? :)
I have some of the chipset documentation, too, FWIW.

Thanks,
-Eric


2001-02-04 06:34:24

by Michael Rothwell

[permalink] [raw]
Subject: Re: "kaweth" usb ethernet driver in 2.4?

On 03 Feb 2001 14:22:02 -0600, Eric Sandeen wrote:

> The driver is included with the USB stuff for 2.2, but not in 2.4.


That's because we stopped fooling with 2.4 around the middle of the
pre-test-ac series of releases. We'll probably pick it back up around
2.4.7 or so.


> It also doesn't seem to work in 2.2. :) The original development of
> this driver was going on at http://drivers.rd.ilan.net/kaweth/ but there
> have been no updates for quite some time.


Well, it doesn't work you _you_ on 2.2, obviously. But it works for us
and other people. Can you provide any information to diagnose the
problem you're having?

And, truthfully, you'd be better off tossing it in the trash and buying
a better product. It's VERY lossy with packets and slow. And it's not
just our driver; it's the device itself. It sucks on Windows as well. :)

However, if you post some info about your experience with it, perhaps we
can get it working for you. But not on 2.4 for awhile.

-M

2001-02-04 17:30:06

by Eric Sandeen

[permalink] [raw]
Subject: Re: "kaweth" usb ethernet driver in 2.4?

Michael Rothwell wrote:

> > It also doesn't seem to work in 2.2. :) The original development of
> > this driver was going on at http://drivers.rd.ilan.net/kaweth/ but there
> > have been no updates for quite some time.
>
> Well, it doesn't work you _you_ on 2.2, obviously. But it works for us
> and other people. Can you provide any information to diagnose the
> problem you're having?

I'm sorry, I should have provided that info. I searched the 'net, and
saw many people with problems on several mailing lists, and saw no
solutions, or reports of success, so I assumed that it was a widespread,
possibly even known, problem with the driver.

I'll preface this by saying that Brad Hards sent me an updated version
that works much better, at least as long as the module is loaded before
the device is plugged in.

But here's what I get with a 2.2 kernel and the stock driver:

Kawasaki USB->Ethernet Driver loading...
usb.c: registered new driver kaweth
usb.c: USB new device connect, assigned device number 2
Kawasaki Device Probe (Device number:2): 0x0846:0x1001
Device at c2192600
Descriptor length: 12 type: 1
NetGear EA-101 connected...
Reading kaweth configuration
Request type: c0 Request: 0 Value: 0 Index: 0 Length: 12
usb-uhci.c: interrupt, status 2, frame# 1929
kaweth control message failed (urb addr: c2c05ca0)
usb_control/bulk_msg: timeout
usb-uhci.c: interrupt, status 2, frame# 851
Actual length: 0, length 18
Resetting...
usb-uhci.c: interrupt, status 2, frame# 854
Downloading firmware at c48abb6c to kaweth device at c31be000...
Firmware length: 3838
Request type: 40 Request: ff Value: 0 Index: 0 Length: efe
usb-uhci.c: interrupt, status 2, frame# 871
kaweth control message failed (urb addr: c213ab60)
usb-uhci.c: interrupt, status 2, frame# 877
usb-uhci.c: interrupt, status 2, frame# 882
Actual length: 0, length 3838
Error downloading firmware (-110), no net device created

2001-02-04 23:19:27

by Michael Rothwell

[permalink] [raw]
Subject: Re: "kaweth" usb ethernet driver in 2.4?

Thanks. Has Brad Hards made his version available somewhere?
-M

----- Original Message -----
From: "Eric Sandeen" <[email protected]>
To: "Michael Rothwell" <[email protected]>
Cc: <[email protected]>
Sent: Sunday, February 04, 2001 9:30 AM
Subject: Re: "kaweth" usb ethernet driver in 2.4?


> Michael Rothwell wrote:
>
> > > It also doesn't seem to work in 2.2. :) The original development of
> > > this driver was going on at http://drivers.rd.ilan.net/kaweth/ but
there
> > > have been no updates for quite some time.
> >
> > Well, it doesn't work you _you_ on 2.2, obviously. But it works for us
> > and other people. Can you provide any information to diagnose the
> > problem you're having?
>
> I'm sorry, I should have provided that info. I searched the 'net, and
> saw many people with problems on several mailing lists, and saw no
> solutions, or reports of success, so I assumed that it was a widespread,
> possibly even known, problem with the driver.
>
> I'll preface this by saying that Brad Hards sent me an updated version
> that works much better, at least as long as the module is loaded before
> the device is plugged in.
>
> But here's what I get with a 2.2 kernel and the stock driver:
>
> Kawasaki USB->Ethernet Driver loading...
> usb.c: registered new driver kaweth
> usb.c: USB new device connect, assigned device number 2
> Kawasaki Device Probe (Device number:2): 0x0846:0x1001
> Device at c2192600
> Descriptor length: 12 type: 1
> NetGear EA-101 connected...
> Reading kaweth configuration
> Request type: c0 Request: 0 Value: 0 Index: 0 Length: 12
> usb-uhci.c: interrupt, status 2, frame# 1929
> kaweth control message failed (urb addr: c2c05ca0)
> usb_control/bulk_msg: timeout
> usb-uhci.c: interrupt, status 2, frame# 851
> Actual length: 0, length 18
> Resetting...
> usb-uhci.c: interrupt, status 2, frame# 854
> Downloading firmware at c48abb6c to kaweth device at c31be000...
> Firmware length: 3838
> Request type: 40 Request: ff Value: 0 Index: 0 Length: efe
> usb-uhci.c: interrupt, status 2, frame# 871
> kaweth control message failed (urb addr: c213ab60)
> usb-uhci.c: interrupt, status 2, frame# 877
> usb-uhci.c: interrupt, status 2, frame# 882
> Actual length: 0, length 3838
> Error downloading firmware (-110), no net device created
>

2001-02-05 04:55:05

by Dunlap, Randy

[permalink] [raw]
Subject: RE: "kaweth" usb ethernet driver in 2.4?

It was posted on linux-usb-devel on 28-jan-2001.
Find some email archive for it, or I can forward it
to you...

~Randy

> -----Original Message-----
> From: Michael Rothwell [mailto:[email protected]]
> Sent: Sunday, February 04, 2001 6:17 PM
> To: Eric Sandeen
> Cc: [email protected]
> Subject: Re: "kaweth" usb ethernet driver in 2.4?
>
>
> Thanks. Has Brad Hards made his version available somewhere?
> -M
>
> ----- Original Message -----
> From: "Eric Sandeen" <[email protected]>
> To: "Michael Rothwell" <[email protected]>
> Cc: <[email protected]>
> Sent: Sunday, February 04, 2001 9:30 AM
> Subject: Re: "kaweth" usb ethernet driver in 2.4?
>
>
> > Michael Rothwell wrote:
> >
> > > > It also doesn't seem to work in 2.2. :) The original
> development of
> > > > this driver was going on at
> http://drivers.rd.ilan.net/kaweth/ but
> there
> > > > have been no updates for quite some time.
> > >
> > > Well, it doesn't work you _you_ on 2.2, obviously. But it
> works for us
> > > and other people. Can you provide any information to diagnose the
> > > problem you're having?
> >
> > I'm sorry, I should have provided that info. I searched
> the 'net, and
> > saw many people with problems on several mailing lists, and saw no
> > solutions, or reports of success, so I assumed that it was
> a widespread,
> > possibly even known, problem with the driver.
> >
> > I'll preface this by saying that Brad Hards sent me an
> updated version
> > that works much better, at least as long as the module is
> loaded before
> > the device is plugged in.
> >
> > But here's what I get with a 2.2 kernel and the stock driver:
> >
> > Kawasaki USB->Ethernet Driver loading...
> > usb.c: registered new driver kaweth
> > usb.c: USB new device connect, assigned device number 2
> > Kawasaki Device Probe (Device number:2): 0x0846:0x1001
> > Device at c2192600
> > Descriptor length: 12 type: 1
> > NetGear EA-101 connected...
> > Reading kaweth configuration
> > Request type: c0 Request: 0 Value: 0 Index: 0 Length: 12
> > usb-uhci.c: interrupt, status 2, frame# 1929
> > kaweth control message failed (urb addr: c2c05ca0)
> > usb_control/bulk_msg: timeout
> > usb-uhci.c: interrupt, status 2, frame# 851
> > Actual length: 0, length 18
> > Resetting...
> > usb-uhci.c: interrupt, status 2, frame# 854
> > Downloading firmware at c48abb6c to kaweth device at c31be000...
> > Firmware length: 3838
> > Request type: 40 Request: ff Value: 0 Index: 0 Length: efe
> > usb-uhci.c: interrupt, status 2, frame# 871
> > kaweth control message failed (urb addr: c213ab60)
> > usb-uhci.c: interrupt, status 2, frame# 877
> > usb-uhci.c: interrupt, status 2, frame# 882
> > Actual length: 0, length 3838
> > Error downloading firmware (-110), no net device created
> >
>
> -
> To unsubscribe from this list: send the line "unsubscribe
> linux-kernel" in
> the body of a message to [email protected]
> Please read the FAQ at http://www.tux.org/lkml/
>

2001-02-05 16:23:54

by Eric Sandeen

[permalink] [raw]
Subject: Re: "kaweth" usb ethernet driver in 2.4?

Ok, so the problem with the current driver is that it will attempt to
load the firmware even if firmware is already loaded. This will hang
the device.

The trick is to look at the device release number
(dev->descriptor.bcdDevice) - if no firmware is present, it returns
0x0002, if firmware is present, it returns 0x0202.

The second trick is to explicitly call usb_get_device_descriptor()
before checking this, as it seems to be cached otherwise. Brad and I
had a simultaneous revelation on this one. :)

Adding this test before the (firmware download, fix download, firmware
trigger) sequence makes things work much more reliably, although it
still fails occasionally if the device is plugged in after the driver is
loaded - fails on usb_get_device_descriptor() for some reason... perhaps
a short delay before re-reading the desriptor might help? (just
guessing here...)

Patches sent to Brad & Michael.

-Eric