Re: understanding firmware loader for speedtouch (kernel 2.6.21.5)

From: mikie
Date: Wed Jul 11 2007 - 12:55:28 EST


2007/7/11, Duncan Sands <duncan.sands@xxxxxxxxxxxxxx>:
Hi,

> Actually I had to mount it (I hope that not having it mounted does
> not change a lot in this matter).

probably not. Not having sysfs mounted can cause hotplug to fail,
but I think not having /proc/bus/usb mounted shouldn't cause any
trouble nowadays.

> I:* If#= 1 Alt= 3 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=speedtch
> E: Ad=06(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> E: Ad=07(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> E: Ad=87(I) Atr=01(Isoc) MxPS= 960 Ivl=1ms

The * means that this altsetting is being used - this is the altsetting
when using isochronous mode. So it looks to me like isochronous mode is
being used.

> I have CONFIG_USB_DEBUG=y set in kernel. However I do not see any of
> the messages you are referring to. It does not say that it tried isoc
> and falls to bulk, nothing like that. Also nothing about "setting
> interface to ?? failed".

Most likely it is using isochronous transfer. The question then is: why
is it slow? I will look in my cupboard to see if I have the same modem,
and if so see what speed I can get out of it.

> Which debug option should I switch to see these?

Something like this IIRC:
echo 7 > /proc/sys/kernel/printk
Then it should turn up in dmesg.


I made a more advanced testing. I used one computer only to be
absolutely sure that this is not a hardware issue. So I took a laptop
(P4 1.8GHz, OHCI usb host), and booted into Knoppix LiveCD. It was
running kernel 2.6.19 and the version of speedtch module was 1.10.
First I did something like rmmod speedtch; rmmod ohci-hcd to be sure
that I start with a fresh environment.
I also did: echo 7 > /proc/sys/kernel/printk which caused the usual
debug messages being printed directly in the console.
Then I did modprobe ohci-hcd;modprobe speedtch enable_isoc=1

Certainly I've put the same firmware in the /lib/firmware so that udev
found it correctly and loaded it up to the modem. The ADSL link went
up with the same values (7456 downlink). PPPd started (I use
pppoatm.so, if that is important). In this setup I achieved transfer
rates of around 480...500 kbyte/s. Then I did the similar thing, but
speedtch without enable_isoc, and the result was exactly the same.
In both cases I still could not see the messages from the speedtch
driver about enabling isochronous mode, or falling back to bulk,
nothing like that.

Right after that, to minimize the risk of any outside network being
overloaded (I doubt that anyway), I switched to Windows Xp. Transfers
were up to 730 kbyte/s. So this proves definitely that it is not a
hardware related issue.
The transfers were so fast that the LED (marked usb led) on the modem,
which usually blinks where any transfers are in process, it went
completely off, and only blinked once a few seconds...

So there is a small progress when compared to my server box (celeron
633 to remind you), where I can get only 400kbyte/s (on this laptop it
went 100kbyte/s faster).

I still cannot get the full 6mbit/s that my ADSL service runs at on
the linux system.

--
Regards,
MK
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/