Unfortunatelly this firmware does not work with my modem. I get this
thing in the debug log:
Jul 10 09:26:27 srv kernel: speedtch 1-2:1.0: speedtch_upload_firmware entered
Jul 10 09:26:27 srv kernel: speedtch 1-2:1.0:
speedtch_upload_firmware: BLOCK1 uploaded (935 bytes)
Jul 10 09:26:29 srv kernel: usb 1-2: speedtch timed out on ep5in len=0/512And it hangs at this point for a couple of minutes, so I have to
manually remove the speedtch module. As far as I can see my modem is
revision 2.00 (kernel searches for firmware speedtch-1.bin.2.00).I also tried a couple of other firmwares available on the net, and
also the one from Windows XP install (which works and achieves speeds
of up to 720kbyte/sec downlink). Some of the firmwares did not work
either, and some worked the same way - it means not more than 3mbit/s
(around 400kbyte/s) could be achieved.--
Regards,
MK
-
I'm pretty sure you won't get anything faster out of a revision 2 modem.
Sorry,
Duncan.
-
Too bad to hear that :/
Especially that windows does this with the same modem without a hitch.
Anyway thanks for all your help.--
Regards,MK
-
Really? In that case I take it back, the hardware can clearly do it :) Presumably
you are using the firmware that came with windows? Which kernel version? Also, whatNo problem.
Duncan.
-
Yes, the hardware in the modem can do it for sure. I have a laptop
with a pentium4 CPU, USB2.0, windows XP installed. I attach the same
modem to this laptop and I can go up to 730..740 kbyte/s (the same
phone line of course). Windows XP had to be modified with a registry
tweak (from thomson website) to switch to isochronous mode and it
works.However my server running linux is on a ECS motherboard (P6BAP as I
remember), Celeron 633 CPU, USB1.1. I have compiled quite fresh kernel
2.6.21.5I am 100% sure that I use the same firmware for the modem, because I
copied it directly from windows XP from laptop.
Now since the modem itself can go as fast as 6mbit/s, I am only
concerned if the _computer_ hardware on my linux server box can do it
via USB ? I can see the usb reporting it to be at 12Mbit/s, which
should be enough to reach 6mbit/s teoretically. CPU load is normal
even during transfers.
I would have to install windows xp on that machine to be 100% sure
that both modem and computer hardware can go up to 6mbit/s via USB...By the way, I just tried to switch sw_buffering in the speedtch module
but that did not help.--
Regards,
MK
-
I begin to think that the isochronous mode is not working. I tried the
speedtch module with disabled and enabled isoc and there is no
difference in transfer speeds at all.All I checked was :
root@srv:~# cat /sys/module/speedtch/parameters/enable_isoc
Ywhich as I now believe only means what options have been specified,
but does not confirm the actual mode being in use.
Especially that I do not see anything like "isoc support enabled" in
any of the logs.Are there any requirements for UHCI hardware to support isoc mode ?
Mine is:
USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 08) (prog-if 00 [UHCI])Or maybe I am missing something else? I am sure the isoc mode is
supported by my modem, now I only have doubts if my hardware on server
box supports this ?--
Regards,
MK
-
can you please send the part of /proc/bus/usb/devices concerning the
modem, while the modem is plugged in and (supposedly) using isoc mode.
If /proc/bus/usb isn't mounted, you can mount it like this IIRC:
mount -t usbfs usbfs /proc/bus/usb/
Also, looking in the driver I see that if isoc mode is disabled you
should see one of the following messages:
- setting interface to ?? failed (??)!
- isochronous transfer not supported - using bulk
The first one may be a debug message, so you will not necessarily see
it depend on which level of kernel debug messages you have turned on.
(I have made some changes in my tree so that if you asked for isoc
transfer but get bulk then a message is printed).Ciao,
Duncan.
-
Actually I had to mount it (I hope that not having it mounted does
not change a lot in this matter). Here is the cat of "devices" from
/proc/bus/usbT: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=06b9 ProdID=4061 Rev= 2.00
S: Manufacturer=ALCATEL
S: Product=Speed Touch 330
S: SerialNumber=0090D0AA28CD
C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=speedtch
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=50ms
I: If#= 1 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=00 Prot=00 Driver=speedtch
I: If#= 1 Alt= 1 #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=02(Bulk) MxPS= 64 Ivl=0ms
I: If#= 1 Alt= 2 #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= 640 Ivl=1ms
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
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=speedtch
E: Ad=05(O) Atr=02(Bulk) MxPS= 8 Ivl=0msI 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". Which debug option should I switch to see
these?--
Regards,
MK
-
probably not. Not having sysfs mounted can cause hotplug to fail,
but I think not having /proc/bus/usb mounted shouldn't cause anyThe * means that this altsetting is being used - this is the altsetting
when using isochronous mode. So it looks to me like isochronous mode isMost 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,Something like this IIRC:
echo 7 > /proc/sys/kernel/printk
Then it should turn up in dmesg.Ciao,
Duncan.
-
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=1Certainly 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
-
Hello Duncan,
Do you have any news regarding my case of slow transfers via
Speedtouch USB modem on linux ?--
Regards,
MK
-
I found my old speedtouch modem and tested here. I got 2.1 Mbaud
bulk downspeed, and 3 Mbaud isoc downspeed. This last is half the
speed my line supports, so something is wrong [*]. Unfortunately
I'm not very motivated to try to find out what, because I don't
use this modem myself anymore. It looks like someone needs to do
some more reverse engineering work on the windows driver.Ciao,
Duncan.
[*] I got the same numbers the last time I tested isoc support,
but at that time 3 Mbaud was slightly less than the maximum speed
of my line, which explains why I didn't realize that there is a
problem.
-
On Wed, Jul 25, 2007 at 12:03 AM, Duncan Sands
Duncan, as you remember we discussed 1 year ago speed issues with
Speedtouch driver. Please let me know if the driver has been fixed to
support higher speeds? Or is it still limited to 3Mbaud top ?Regards,
MK
--
Nothing changed, so I suppose it is still slow. I'm not planning
to work on this - I no longer have any interest in these modems
(I should really remove myself as maintainer).Sorry for the bad news,
Duncan.
--
| Greg KH | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 005/196] Chinese: add translation of SubmittingDrivers |
| Adrian Bunk | [1/6] 2.6.21-rc2: known regressions |
| Paul Jackson | Re: cpuset-remove-sched-domain-hooks-from-cpusets |
git: | |
| Linus Torvalds | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
