PDA

Bekijk de volledige versie : USB ADSL Modem



fabiosantos
01-04-2004, 18:29
Hey Folks,
Just wondering...
Has anyone sucessfuly used an USB ADSL Modem with 500g?
A custom job may be needed I guess...
Any stories?

Thanks
Fábio.

ilmer
01-04-2004, 21:57
wondering too, I'm about to get one.

Veri
09-06-2004, 22:39
Assuming you have a frog (http://speedtouch.sourceforge.net/) ADSL modem, i.e. the original choice for UK ADSL, it's certainly possible to obtain source user-mode drivers (and binary firmware, which is just sent to the modem) from the link given. You just need to make sure your kernel has certain standard components selected at build time.

I am thinking of getting the WL-500G based on whether this is successful... although if no-one else has tried I might risk buying to test myself :).

max2950
10-06-2004, 09:57
Hey Folks,
Just wondering...
Has anyone sucessfuly used an USB ADSL Modem with 500g?
A custom job may be needed I guess...
Any stories?

Thanks
Fábio.

Quoted from the Asus FAQ Web Site :

Can I connect my wireless LAN router WL-500g to internet via a USB modem which link to the router by USB port?

Regards...



WL-500g does not support this feature.

Oleg
10-06-2004, 10:08
Guys, wl500g does not support usb adsl modems out of the box. And it's difficult to provide support for all usb adsl modems, due to the fact that there are number of usb adsl chipsets which has proprietary protocols for communicating with the hosts. So it's unlikely that such a support will be released by manufacturers. On the other hand volunteers can recompile firmware, add modules for usb modems of their choice, but this will require much more time, than just bying the ethernet modem which is now cost the same money as usb.

Veri
10-06-2004, 12:41
The "Frog" Alcatel Speedtouch USB modem needs no non-standard kernel mode drivers (just ppp, etc.). The advantage of having a USB modem is that it is just that - a modem.

Ethernet devices either take up an IP address and need securing / router configuration / etc., or need configuring into a half-bridge mode which is broken in some firmware (Conexant, I'm looking at you) and doesn't work properly for multiple IP addresses in the rest.

That's the reason why I'm going to try. As long as (i) USB drivers on the WL-500G have the standard API; (ii) CONFIG_PPP, CONFIG_PPP_SYNC_TTY and HDLC line discipline support can be set in the kernel; (iii) the ppp devices can be used in /dev, I see no reason why this shouldn't work.

Oleg
10-06-2004, 12:57
ok, good luck. :)

Veri
10-06-2004, 13:32
Thanks :). I'm about half an hour away from ordering a WL-500G, so I wonder if there is anything that you think might be show-stopping in trying this? eg is the Linux/mips port lacking something crucial in USB support or PPP that Linux/i386 has, perhaps missing ioctls or (I'm not sure yet if this is needed) usbfs?

I know there were people having problems using the user-mode pppoa with Linux/sparc64 for this reason - quoting specifically from the mailing list, pusb_endpoint_rw_no_timeout in pusb-linux.c not being properly implemented.

Oleg
10-06-2004, 16:03
Probably some things are different, especially ioctls, but everything is fixable. :) Also, cross-compiling is very hard with certain packages. But at least endianess is the same as x86 box use.

Veri
12-06-2004, 02:04
In summary: Received a WL-500G this afternoon, flashed with Oleg's latest firmware, installed the Asus build tools, built the HDLC line discipline kernel module, built speedtouch project (http://speedtouch.sourceforge.net/) with appropriate configuration options (but no source tweaks needed!), uploaded all relevant files to router, made good use of howto (http://cvs.sourceforge.net/viewcvs.py/*checkout*/speedtouch/speedtouch/doc-linux/howto/SpeedTouch-HOWTO-en.html?rev=HEAD), and I am now connected via the Speedtouch USB modem running off the WL-500G.

It's still a bit messy, for example I had to compile statically and strip resulting binaries, meaning heinous file sizes, but for people who just want a working demo (all files are going into RAM disc here, so lost at reboot), some rough notes:

0. Make sure you have oleg's latest firmware (http://wl500g.dyndns.org/) (thanks for this oleg!). I also set the router to "router" mode as opposed to "home gateway" where lots of DHCP/NAT magic happens which might interfere with things, but this might be ok.

0.5. To transfer files easily to router, I recommend scp. To set this up, telnet in, /init/rc.sshd && nvram commit && reboot (maybe?), then /init/rc.sshd again to restart the ssh daemon (or put it in a bootCmd somewhere).

1. Grab the enclosed zip containing: hdlc.o kernel module, modem_run and pppoa3 binaries, and templates for /etc/ppp/options, /etc/ppp/peers/adsl. Copy the first three into /tmp/alcatel say. Also upload your copy of mgmt.o or alcaudsl.sys containing the actual modem firmware.

2. edit /etc/ppp/peers/adsl as appropriate, in particular changing the login user ;-) and VPI/VCI if you're not in the UK. Add an /etc/ppp/chap-secrets (or pap-secrets perhaps) line containing:
"your_login" * "your_password" *

3. insmod n_hdlc.o

4. ./modem_run -t 20 -v 2 -f mgmt.o 2>/tmp/alcatel/modem_run.log (substitute the name of the sys file if you have that instead). Wait at least 30 seconds.

5. Take a deep breath and: pppd call adsl updetach ... ifconfig ppp0 to check for success It should grab nameserver etc info automatically so you can ping out at will.

6. While you play, keep safe: iptables -I INPUT 1 -i ppp0 -p tcp --dport 0:1023 -j DROP at least. You also wanna block 2601 and 9100 probably.

NB If need to killall pppd, rm /var/run/pppoa3-modem*.pid afterwards. Otherwise it seems to go mad upon restart.

In more detail... to build HDLC support:

1. Follow kernel rebuild instructions (http://wl500g.info/showpost.php?p=2362&postcount=2) up to make menuconfig.
2. Under character devices, select "non-standard serial port support" then "hdlc line discipline support" as a module.
3. make modules modules_install (latter with permissions to /lib/modules/2.4.20)
4. obtain n_hdlc.o from /lib/modules/2.4.20/kernel/drivers/char/n_hdlc.o

To build alcatel usermode software:

1. Ensure PATH set up to installed asus build tools (http://www.asus.com.tw/support/download/item.aspx?ModelName=WL-500g&Type=Latest) (note the package already includes pre-built toolchain that you can copy to /opt)

2. Temporarily move /usr/include and /usr/local/include so configure process absolutely ignores them.

3. Build with options (those CPPFLAGS and LDFLAGS are probably unnecessary after you've done (2)):
CPPFLAGS=-I/opt/hndtools-mipsel-linux/include LDFLAGS=-L/opt/hndtools-mipsel-linux/lib ./configure --host=mipsel-linux --build=i686-pc-linux-gnu --enable-static --enable-syslog=no
make
mipsel-linux-strip --remove-section=.comment --remove-section=.note bin/*

4. Only bin/modem_run and bin/pppoa3 are needed.

Oleg
12-06-2004, 10:00
Good work. :) The next your step should be integrating this to custom firmware to make it usable by everyone.

max2950
12-06-2004, 14:35
In summary: Received a WL-500G this afternoon, flashed with Oleg's latest firmware, installed the Asus build tools, built the HDLC line discipline kernel module, built speedtouch project (http://speedtouch.sourceforge.net/) with appropriate configuration options (but no source tweaks needed!), uploaded all relevant files to router, made good use of howto (http://cvs.sourceforge.net/viewcvs.py/*checkout*/speedtouch/speedtouch/doc-linux/howto/SpeedTouch-HOWTO-en.html?rev=HEAD), and I am now connected via the Speedtouch USB modem running off the WL-500G.

It's still a bit messy, for example I had to compile statically and strip resulting binaries, meaning heinous file sizes, but for people who just want a working demo (all files are going into RAM disc here, so lost at reboot), some rough notes:

0. Make sure you have oleg's latest firmware (http://wl500g.dyndns.org/) (thanks for this oleg!). I also set the router to "router" mode as opposed to "home gateway" where lots of DHCP/NAT magic happens which might interfere with things, but this might be ok.

0.5. To transfer files easily to router, I recommend scp. To set this up, telnet in, /init/rc.sshd && nvram commit && reboot (maybe?), then /init/rc.sshd again to restart the ssh daemon (or put it in a bootCmd somewhere).

1. Grab the enclosed zip containing: hdlc.o kernel module, modem_run and pppoa3 binaries, and templates for /etc/ppp/options, /etc/ppp/peers/adsl. Copy the first three into /tmp/alcatel say. Also upload your copy of mgmt.o or alcaudsl.sys containing the actual modem firmware.

2. edit /etc/ppp/peers/adsl as appropriate, in particular changing the login user ;-) and VPI/VCI if you're not in the UK. Add an /etc/ppp/chap-secrets (or pap-secrets perhaps) line containing:
"your_login" * "your_password" *

3. insmod n_hdlc.o

4. ./modem_run -t 20 -v 2 -f mgmt.o 2>/tmp/alcatel/modem_run.log (substitute the name of the sys file if you have that instead). Wait at least 30 seconds.

5. Take a deep breath and: pppd call adsl updetach ... ifconfig ppp0 to check for success It should grab nameserver etc info automatically so you can ping out at will.

6. While you play, keep safe: iptables -I INPUT 1 -i ppp0 -p tcp --dport 0:1023 -j DROP at least. You also wanna block 2601 and 9100 probably.

NB If need to killall pppd, rm /var/run/pppoa3-modem*.pid afterwards. Otherwise it seems to go mad upon restart.

In more detail... to build HDLC support:

1. Follow kernel rebuild instructions (http://wl500g.info/showpost.php?p=2362&postcount=2) up to make menuconfig.
2. Under character devices, select "non-standard serial port support" then "hdlc line discipline support" as a module.
3. make modules modules_install (latter with permissions to /lib/modules/2.4.20)
4. obtain n_hdlc.o from /lib/modules/2.4.20/kernel/drivers/char/n_hdlc.o

To build alcatel usermode software:

1. Ensure PATH set up to installed asus build tools (http://www.asus.com.tw/support/download/item.aspx?ModelName=WL-500g&Type=Latest) (note the package already includes pre-built toolchain that you can copy to /opt)

2. Temporarily move /usr/include and /usr/local/include so configure process absolutely ignores them.

3. Build with options (those CPPFLAGS and LDFLAGS are probably unnecessary after you've done (2)):
CPPFLAGS=-I/opt/hndtools-mipsel-linux/include LDFLAGS=-L/opt/hndtools-mipsel-linux/lib ./configure --host=mipsel-linux --build=i686-pc-linux-gnu --enable-static --enable-syslog=no
make
mipsel-linux-strip --remove-section=.comment --remove-section=.note bin/*

4. Only bin/modem_run and bin/pppoa3 are needed.

This rules ! Let's get it into a custom firmware !
:) :) :) :)

Veri
13-06-2004, 01:31
Ok, now compiled with uclibc and its pthreading library. I've thrown all the required parts into ipkg's, which can be installed into the firmware automatically by patching oleg's distribution with the enclosed diff then shoving all ipkg's you want pre-installed into the packages/ directory before running "make". You will need ipkg installed on your _build_ system.

Still proof-of-concept-y (I really haven't begun looking at how the 500g configures stuff and what I should edit to give a nice front-end to the pppoa settings and enable automatic startup), but also illustrates how a build system could be created which just involves selecting ipkg's...

Readers might also be interested in the diff applied to the speedtouch 1.3 source to actually get it compiling outside of the Asus/oleg build environment, as such techniques can probably be applied in general. Bodges, but enclosed.

Oleg
13-06-2004, 08:44
Good idea, but in fact we need also a possibility to rebuild all the packages, so your modifications to custom firmware should be expanded. Also, is there any way to get rid of pthreads to save space?

Oleg
13-06-2004, 10:05
Also, why do we need precompiled packages at all? Do we need to be able to make the firmware without need to recompile anything? If so, then we need to make a separate tool, which will pack firmware using the config and packages and separate build environment.

Veri
13-06-2004, 10:53
Re pthreads - pppoa3 is designed multithreaded. There is an earlier version of the pppoa daemon, pppoa2, which isn't, but I don't think it's being worked on any more. All that's required to use it instead is substitute copy+strip of pppoa2 for pppoa3 in ipkg/rules and then change the line in /etc/ppp/peers/adsl to reference the other binary.

The advantages of the ipkg method described:

(1) It's quicker, less error-prone and more flexible to just select a set of modular pre-compiled packages than having to prepare a monolithic build system, edit makefiles, etc. Since ipkg automatically does file downloads, firmware creation could be reduced to downloading the one script build_trx (having installed ipkg) and, eg:
build_trx dropbear ntpclient speedtouch
for a 20 second creation of firmware containing those modules only (plus essential stuff like kernel, busybox, squashfs, etc). This could even easily be ported to Windows, or given a web interface.

(that's why I added the line if [ "x${DYNAMIC_INSTALL}" != x ]; then $(IPKG) -d router -f $(TOP)/ipkg.conf -force-overwrite install ${DYNAMIC_INSTALL}; fi)

Dependency management, ability to download from multiple sources with developers being able to work independently on their packages, etc, all come for free.

(2) If you're using an external USB drive/nfs mount/whatever, these same packages can be installed live on the filesystem using ipkg on the router.

I have not much free time at the moment unfortunately :( so I'm really just proposing some quick ideas. At the beginning of the week I hadn't even heard of the router, but it's a very nice little box!

Technik
13-06-2004, 15:04
Just FYI - OpenWRT implementation + some IPKG packages - see http://www.bud-net.org/soft/asus/OpenWRT_WL500_mod/
Discussion about development (in Czech language) can be found here: http://www.czfree.net/forum/showthread.php?s=&goto=lastpost&threadid=8857

monnier
07-08-2004, 19:47
The "Frog" Alcatel Speedtouch USB modem needs no non-standard kernel mode drivers (just ppp, etc.). The advantage of having a USB modem is that it is just that - a modem.

Ethernet devices either take up an IP address and need securing / router configuration / etc., or need configuring into a half-bridge mode which is broken in some firmware (Conexant, I'm looking at you) and doesn't work properly for multiple IP addresses in the rest.

Most USB ADSL modem drivers I know only ever give you a single IP, so whether some ethernet devices don't
reliably support multi-IP settings doesn't seem particularly relevant.

What is relevant, tho, is that ethernet devices seem to all use the completely standard PPPoE protocol which is supported by just about every OS and every router around.
(and they also allow much longer and cheaper cables).

int
04-12-2004, 21:57
u can make this a firmware update file... like WL500g-1.8.1.7-3ToSpeedtouch.trx ?

please

int
05-12-2004, 00:10
where i get mgmt.o ? for my speedtouch 330 USB ?

I try with alcaudsl.sys, but fail..

geethreeforce
22-12-2004, 13:26
Hello,

One question.
Looking in the thread i asume that support for the alcatel speedtouch frog is compiled in the CR firmware releases ?
Is this so or do i have to fiddl the support in myself.

Hope to hear.

Regards

Niels :)

Oleg
22-12-2004, 14:00
No, this is for speedtouch with ethernet port.

allegro
03-01-2005, 18:20
No, this is for speedtouch with ethernet port.
I'm confused.. weren't you talking of usb modem?

Btw, asus build tools, is the utility available at asus site?

To compile everything, do I need a linux system installed, can I use a cd distro, someone mentioned colunix in a post, but I can't seem to find it..

Well, as Marco Sousa was saying, a custom firmware for speedtouch would be pretty much appreciated (at least in the portuguese comunity), since most of the DSL providers provide costumer with this modem...

But again, if you answer some of these questions I can see if I can make the firmware myself :) .. even though i'm not quite sure of being able to pull this out :D

Oleg
03-01-2005, 18:57
I'm confused.. weren't you talking of usb modem?

No, we've talked about ethernet modem setup.


Btw, asus build tools, is the utility available at asus site?

Sure.


To compile everything, do I need a linux system installed, can I use a cd distro, someone mentioned colunix in a post, but I can't seem to find it..

Have you tried googling? http://www.colinux.org/ is the first match.


Well, as Marco Sousa was saying, a custom firmware for speedtouch would be pretty much appreciated (at least in the portuguese comunity), since most of the DSL providers provide costumer with this modem...

Well, each provider should build their customized ASUS firmware then. ADSL USB modems uses several chipsets, each requires some firmware, which depends on the telco settings and national regulations.
So, suppose I could compile this for your cool modem, made by some company A, to work in the country B with telco C. What to do next? Compile the same for yet another user, having another cool modem made by company X, which should work in the country Y with telco Z? This requires too many time for maintaining this and I'm too lazy for doing this.
I've bought ethernet modem, rather than playing with USB, and I'm very happy with it. At least one thing works. :D
USB modems are windows friendly only, in the linux world they're still supported by brave peoples only...

wtzm
03-01-2005, 20:14
IMHO this thread has already all information you need if you want to get your Alcatel Speedtouch USB (330) working on your wl500g. It took me a few hours to get it working on my wl500g (this was in August, long time ago...) and I haven't experienced any problems so far.
Short summary:
1) No, there isn't any support for the Alcatel Speedtouch USB in Oleg's Custom Firmwares, but Veri has provided all the files and information necessary. Upload everything with scp to test it and if it works build yourself your own custom firmware.
2) The mgmt.o firmware is available here (http://www.speedtouchdsl.com/support.htm). (hint: it's included in the "Embedded Firmware for Linux users")

Oleg
04-01-2005, 09:07
wztm, do you upload these apps every time or you've usb drive attached?
I could make "Custom PPP" mode, so it will be mostly integrated with firmware, this will allow to work most of the things using ppp - analog modems, CDMA, usb dsl modems (but they will need to use additional programs).

wtzm
04-01-2005, 15:59
I built myself another firmware based on your 1.7.5.9-x custom firmware releases. It was quite a tricky task to get enough free space for the modem firmware (about 700k uncompressed!) + pppoa3 + modem_run; therefore I had to delete smbd, nmbd and other stuff I don't really need. I edited the startup scripts to load the firmware and start pppd, so this isn't available via the webinterface ;).
It would be great to integrate this functionality into your custom firmwares, so one would just have to supply the modem firmware and change a option in the Makefile.

Oleg
04-01-2005, 21:52
Ok, I see. Anyway, mgmt.o can't be redistributed legally, so it's not possible to include it to the firmware image anyway. So, it should somewhere like a usb drive. So in order to use USB modem regular users should have USB hub and usb flash/drive attached to the router...
Is this acceptable by the users? I think most will answer no, they do want to attach modem only...

NickFortune
11-02-2005, 12:23
Ok, now compiled with uclibc and its pthreading library. I've thrown all the required parts into ipkg's, which can be installed into the firmware automatically by patching oleg's distribution with the enclosed diff then shoving all ipkg's you want pre-installed into the packages/ directory before running "make". You will need ipkg installed on your _build_ system.
Veri - first of all, thanks for all the hard work, man :D

Second - which firmware version did you patch against, and should I patch against broadcom/src/wl500g-W.X.Y.Z or against the broadcom/src/gateway dir.

I tried against the current 1.9.2.7 firmware and the makefile seems rather different from the patch target. Right now I'm both downloading the previous firmware release and (while the GPL archive downloads) looking at getting it working using your non-ipkg instructions.

All the same, the version info would be useful, if not for me then for the next guy. And of course, any hints much appreciated. ;)

RoofCat
12-02-2005, 09:55
wztm, do you upload these apps every time or you've usb drive attached?
I could make "Custom PPP" mode, so it will be mostly integrated with firmware, this will allow to work most of the things using ppp - analog modems, CDMA, usb dsl modems (but they will need to use additional programs).
Oleg, this will be great! Even with the need for extra storage (Like USB-stick) it will add flexibility for Asus box usage and reliability (I am thinking about using gprs link as fallback)

Regards,
Roofcat

NickFortune
12-02-2005, 15:27
Which firmware version did you patch against, and should I patch against broadcom/src/wl500g-W.X.Y.Z or against the broadcom/src/gateway dir.

It patches against the 1.7.5.6-5 version, and applies to the wl500g directory where Oleg's stuff resides. It was in the diff file if I'd thought to look.

NickFortune
14-02-2005, 10:52
which is interesting since the 1.7.6-5 GPL sources don't appear to exist on the ASUS site. There's 1927 1817 and 1697. I assume I should be looking for 1765 in there. (This is starting to feel like a history lesson...)

Meanwhile I've been working on a manual install of the speedtouch drivers to the latest 1.9.2-7 custom sources. The problem is the kernel makefile doesn't seem to have a bzImage target. I suppose I could just compile the modules, since all I really need from there is the n_hdlc.o module...

NickFortune
15-02-2005, 13:46
I got it working (I think) but it doesn't help much. The firmware file is too big to store in flash.

I had thought that I could combine my speedtouch modem and wireless AP to get an ADSL wireless router with full control over the firewall via iptables. Looks like I get to stick with my gateway box setup.

Of course, if I'm missing anything obvious, do please tell me.

Oleg
15-02-2005, 14:02
I got it working (I think) but it doesn't help much. The firmware file is too big to store in flash.

This is that I'm talking exactly. You will need external usb drive/stick or http server in your LAN to grab the firmware.

NickFortune
15-02-2005, 14:24
mmm... and that would require a USB hub to manage access to the drive and the modem together, which is going to be way more resources that anyone will want to throw at this. Too much enthusiasm and not enought careful reading on my part.

Oh well, at least it's been educational. :D

Hydra
28-05-2005, 20:08
for those that have tried this, can I just ask what your ping times are going from your main PC though the router, to the internet via the USB connected ADSL modem and what they are with just the USB adsl modem connected directly to your pc.

I'm curious to see how fast this solution is.

I've been looking for a decent open source router box to hack around with for ages and I accidentally bought a WL500g today (wasn't paying attention when i bought it - thought i had adsl built in :rolleyes: ) and I've been wondering if it's as fast as my connexant based addon-tech.com arm 9100 router (which runs linux but I can't find the source code to it) which compared to my old Efficient (lol!) Networks 5861 Router provides much faster connections. (8ms on the arm9100 compared to 30ms on the 5861 to my ISP).

Oleg
28-05-2005, 20:37
the ping time is dependent on the adsl standard being used by modem and not on the cpu power.

goncalo
09-06-2005, 01:54
Hi,

I was trying to setup alcatel speedtouch 330 (USB) with my ASUS WL-500gx, but I had no success.
I think I'd followed the steps like Very said, but som things differ in my configuration:

- I think I've upgraded the firmware, but my router doesn't have sshd (I connect to the router and make scp to my pc to copy files). What I understand (correct me if I'm wrong) I must copy "options" to /etc/ppp and "adsl" to /etc/ppp/peers. I've done that and after I've copied the 3 other files to /tmp/alcatel/ more the alcaudsl.sys (obtained from my windows drivers). I execute step 3, 4, wiat a minute and try "pppd call adsl updetach", but I get an error "/tmp/ppp/peers/adls file not exists", so I've copied it to that directory. Than I can execute the command but I think there is no good result:

"
using channel 92
Using interface ppp0
Connect: ppp0 <--> /dev/pts/6
sent [LCP ConfReq id=0x5 <asyncmap 0x0> <magic 0xc5a59c6d>]
...
sent [LCP ConfReq id=0x5 <asyncmap 0x0> <magic 0xc5a59c6d>]
LCP: timeout sending Config-Requests
Connection terminated.
using channel 93
Using interface ppp0
Connect: ppp0 <--> /dev/pts/7
sent [LCP ConfReq id=0x6 <asyncmap 0x0> <magic 0x2d7024bb>]
...
"
and the console was going in a "while (true)"

There are a few thing I don't understand:
To setup the usb modem I need to execte the part "In more detail... to build HDLC support:" ???

If anyone could explain me what i did wrong and how I can setup the router, I would appreciate, and try to make a manual in Portugues and English with a detailed explain on how to install speedtouch alcatel usb modem.

Thanks,
goncalo

smloh
28-06-2005, 12:25
i'm currently trying to get my Aztech Turbo 100 Globespan-chipset usb adsl modem working, using the eciadsl drivers, and it's looking good so far, although i haven't actually connected.

i don't think you need to build hdlc support, i just grabbed the n_hdlc.o provided by veri, did "insmod n_hdlc.o" and it was okay (so far).

i have a debian install on my wl-hdd, so since i haven't set up a proper build environment, i thought i'd just try to get it working in the debian chroot first. only thing i had to do was do a "mount -o bind /proc/bus/usb <debian dir>/proc/bus/usb" so that usb devices could be seen from within the chroot.
seems to be working pretty well so far, although like i said i haven't got the chance to actually try connecting it. the modem does light up though and eciadsl detects its chipset properly, says i've got no link, etc..

i think the whole eciadsl package might be a little big if you want to fit it on the flash, though.

Just thought i'd share my progress with any globespan usb modem owners.

Veri
17-07-2005, 17:39
Ok, I did this about a year ago with the 1.7 releases, and today decided to upgrade to 1.9. You do NOT need an external USB drive, contrary to some posts I have read, providing you remove some stuff unnecessary to you (e.g. take your pick from some of www configuration interface graphics, nfs, samba, lpd support, webcam, audio, all of which is installed by default...).

These instructions are to indicate how to manually build from source, so people can actually get it working. I haven't uploaded a public TRX since the modem firmware files are (c)opyrighted.

KEY:
# = follow these instructions;
$ = type this;
### = follow this undocumented step if you had problems with compilation like I did, due e.g. to gcc version;
*** = follow this step specifically to incorporate ADSL Speedtouch USB modem support.

# The stuff you need:
- GPL_1927.tar.gz from Asus;
- hndtools-mipsel-uclibc-3.2.3-full.tar.bz2 and wl500g-1.9.2.7-4.tar.bz2 from http://wl500g.dyndns.org/;
- the speedtouch-package directory, into which you throw:
-> modem_run and pppoa3, enclosed, which are compiled unmodified from http://speedtouch.sourceforge.net/;
-> KQD6P1.eni and KQD6P2.eni or equivalent firmware files for your Speedtouch modem, eg from Thomson site.

$ apt-get install libncurses-dev gawk zlib1g-dev # or equivalent for your package management system

$ tar -C /somewhere -xzf /path/to/GPL_1927.tar.gz
$ cd /somewhere/broadcom/ && mv opt /
$ tar -C / -xjf /path/to/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
$ tar -C /somewhere/broadcom/src -xjf /path/to/wl500g-1.9.2.7-4.tar.bz2
$ export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin

$ cd /somewhere/broadcom/src/wl500g-1.9.2.7-4
$ make uClibc
$ make kernel
### edit mconf.c:91 remove "static" to fix error: static declaration of ‘current_menu’ follows non-static declaration
$ make
*** edit kernel .config: add (eg via "make menuconfig" in src/linux/linux) character devices/non-std/generic hdlc line discipline support
$ cd /somewhere/broadcom/src/gateway
### e2fsprogs/util/Makefile remove "-dintptr_t=long" to fix double declaration of type specifier error
$ make

### mksquashfs.c:489,549 change the assignments to occur over 2 lines, since recent gcc considers invalid lvalue cast
*** ln -s speedtouch-package broadcom/src/gateway/others/speedtouch
*** comment stuff out under "# custom firmware" in broadcom/src/gateway/Makefile to make space
*** add to main broadcom/src/gateway/Makefile package-% target, just before "Prepare filesystem", maybe freeing up more space first, for the new binaries and modem firmware image: (adjust deletions as appropriate)
-> # speedtouch
-> rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/audio.o $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ov*.o $(TARGETDIR)/lib/modules/*/kernel/fs/nfs* ($TARGETDIR)/lib/modules/*/parport/*.o
-> mkdir $(TARGETDIR)/usr/speedtouch && cp others/speedtouch/* $(TARGETDIR)/usr/speedtouch
$ make image-WL500g

# upload your trx image to the router via the web interface; wait a lot; power cycle router; wait a bit
# hold down reset button, wait until power button starts blinking rapidly then release; reconfigure at http://192.168.1.1/

*** prepare a firewall script - your WAN-side interface is ppp0, LAN-side is br0

*** install a boot-time connection script something like (very much like, if you use a BT-derived ADSL product):

#!/bin/sh

# make config files

/bin/mkdir /tmp/ppp/peers
/bin/cat >/tmp/ppp/peers/adsl <<EOF
# debug
# kdebug 1
noipdefault
defaultroute
pty "/usr/speedtouch/pppoa3 -v 1 -m 1 -c -vpi 0 -vci 38"
sync
user "YOUR USERNAME HERE"
mtu 1458
noauth
noaccomp
nopcomp
noccp
novj
holdoff 4
persist
maxfail 25
usepeerdns
EOF

/bin/cat >/tmp/ppp/chap-secrets <<EOF
"YOUR USERNAME HERE" * "YOUR PASSWORD HERE" *
EOF
/bin/chmod go-rwx /tmp/ppp/chap-secrets

# upload firmware to modem

/usr/speedtouch/modem_run -t 20 -v 2 -a /usr/speedtouch/KQD6P1.eni -f /usr/speedtouch/KQD6P2.eni


# go!

/usr/sbin/pppd call adsl updetach

NickFortune
02-08-2005, 11:34
Ok, I did this about a year ago with the 1.7 releases, and today decided to upgrade to 1.9. You do NOT need an external USB drive, contrary to some posts I have read, providing you remove some stuff unnecessary to you (e.g. take your pick from some of www configuration interface graphics, nfs, samba, lpd support, webcam, audio, all of which is installed by default...).

Hah! You would say that after I just splurged on a hub and a usb drive :)

Incidentally, the semi-colon got included in your url for wl500g.dyndns.org (http://wl500g.dyndns.org/). It gives a 404 at the moment, although anyone who gets this far probably knows enough to figure it out.

Oh well, once more into the breach and all that..

NickFortune
03-08-2005, 10:59
Well, I tried it!

Trouble is ppp0 never comes up. I found this in the log file.


Info >1024< pppoa3 version 1.3 started by foozle (uid 0)
[Thu Jan 1 00:12:16 1970] Info >1024< Control thread ready
[Thu Jan 1 00:12:16 1970] Info >1024< Modem found!
[Thu Jan 1 00:12:16 1970] Info >1026< host --> pppoa3 --> modem stream ready
[Thu Jan 1 00:12:16 1970] Info >2051< modem --> pppoa3 --> host stream ready
[Thu Jan 1 00:12:47 1970] Error >1026< Error reading from source device
Reason : Input/output error
Info >1026< Cleaning Read from usb data
[Thu Jan 1 00:12:47 1970] Error >1024< Woken by a sem_post event -> Exiting
Info >2051< Cleaning Write to usb data
Info >1024< Write to usb Canceled[Thu Jan 1 00:12:47 1970] Info >1024< Closing PPPoA3 log file


There's nothing the connect error file, which, combined with the "reading from source device" error, suggests that I'm not even getting off platform.

Does anyone have any ideas on how to go about finding a solution?

One thing: I have one of the revision four silver devices. I've got the proper firmware - at least it works when the blasted thing is attacked to my desktop box.

Oh well, reverting to previous usage for the time being... :confused:

Veri
09-01-2006, 09:45
I have built packages for openwrt that might also be useful for oleg's firmware. I am keen to hear feedback: The instructions for configuring them are located here (http://forum.openwrt.org/viewtopic.php?id=3867), though note you can skip step 1, starting by installing the standard openwrt firmware (http://downloads.openwrt.org/whiterussian/rc4/default/openwrt-brcm-2.4-jffs2-4MB.trx).

Crulex
11-11-2007, 18:16
Hi everyone,

I'm interested to have CDCEther kenrel module compiled in order to make use of my Terayon TJ-715 cable modem connected to the router via USB.

Here is the guide that describes how set up my modem under Linux
http://www.freewebs.com/linuxnet/CableUSBLinuxEn.html

If someone here has a build environment set up and fortunately has compiled CDCEther.o module for MIPS - I'll be very thankful if you share it with me.

P.S. I'm trying to make use of USB firmware located at
http://koppel.cz/cdmawifi/download/166/
- Due to a similar filename it seems like modified Oleg's firmware with USB support (pls correct me if I'm wrong). Anyway the firmware looks very similar to the Oleg's one and it also contains web UI to configure USB modem as backup connection - that's what I'm trying to achieve.

I'll appreciate any help and/or tips regarding this.

jago25_98
14-09-2008, 12:01
This reminds my of getting our P90 router running the speedtouch frog. It's perfectly possible, though the speetouch .o file is not redistributable _I think_ (boo?).

It's perfectly possible to have it all working from one firmware file, with some work.

Unfortunately I now use ethernet or I would have a go. Shame I have to use PPPOA though

seff
19-09-2008, 09:44
They do provide a solution and firmware as well:

http://koppel.cz/cdmawifi/english/
http://koppel.cz/cdmawifi/

Most of the forum QAs and info is in Czech...

Seff