wondering too, I'm about to get one.
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.
wondering too, I'm about to get one.
Assuming you have a frog 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 .
Quoted from the Asus FAQ Web Site :Originally Posted by fabiosantos
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.
The Struggle Continues...
Asus WL500g #1 with fw 1.9.2.7-7f running as main home gateway, with Philipps PWC730k
Asus WL500g #2 with fw 1.9.2.7-7f running as Wireless Client, running palantir 2.6 with SPCA5xx camera on 128MB generic USB key
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.
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.
ok, good luck.
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.
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.
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 with appropriate configuration options (but no source tweaks needed!), uploaded all relevant files to router, made good use of howto, 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 (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 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 (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.
Last edited by Veri; 12-06-2004 at 02:30. Reason: non-Free file removed from zip
Good work. The next your step should be integrating this to custom firmware to make it usable by everyone.
This rules ! Let's get it into a custom firmware !Originally Posted by Veri
The Struggle Continues...
Asus WL500g #1 with fw 1.9.2.7-7f running as main home gateway, with Philipps PWC730k
Asus WL500g #2 with fw 1.9.2.7-7f running as Wireless Client, running palantir 2.6 with SPCA5xx camera on 128MB generic USB key
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.
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?
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.