OpenWrt Forum Archive

Topic: Porting to Airlink101 AR360W3G (alias Amit WMQ138)

The content of this topic has been archived on 20 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

This is a 3G-capable router I picked up recently for $65 at Fry's. (Nexaira also sells the same device as the NexConnect Wireless Broadband Router for $149.)

I contacted Airlink101 & Amit, and was able to get them to post the GPL tarballs to http://www.airlink101.com/gpl/ which has disappeared in the last 4 hours or so - I have emailed them to see where it went. Good thing I downloaded them to my PC!

The hardware platform is listed on http://wiki.openwrt.org/TableOfHardware as "AMRISC 20000". According to the info in their GPL tarball, this is a i386-linux target.

I'm looking for pointers on where to go from here. Given that I have their GPL sources & toolchain, how do I use that information to set up an OpenWRT build for this platform?

My main interest is in getting access to my Sprint EVDO card, so I know I'll need to configure in USBserial support, 3G support, etc.

Thanks for any direction you can provide.

can you share with us the code since it's a gpl ? jhonny_1977@hotmail.com

Yes, please post your download somewhere. I am the one who listed the platform in the TableOfHardware wiki page. I found zero info about the innards on the web, so I opened it up and posted what I found. I'm shocked that AirLink101 responded to your inquiry like that, because when I contacted them, they told me they believe shipping a device with firmware in it does not constitute software distribution and is therefore not subject to the GPL's requirement to provide source, so source would only be provided for firmware images available for download from their website. This means that models that have not had firmware updates, like the AR360W3G, AR625W, and AR680W would not have source. This model should be trivial for OpenWRT to support, since it already supports all the hardware in it. The RDC port, which was developed primarily by florian and myself, would be the one that would cover this hardware.
http://wiki.openwrt.org/RDCPort
https://dev.openwrt.org/wiki/rdc

dgi wrote:

Yes, please post your download somewhere.

I'm uploading to my FTP server right now. I will post a link when it's done.


dgi wrote:

I am the one who listed the platform in the TableOfHardware wiki page. I found zero info about the innards on the web, so I opened it up and posted what I found.

Since you've taken a good look at the board, can you help me with the serial port pinouts? I have an FTDI USB-to-TTL pigtail cable I'd like to hook up to it, but spent a good bit of time unsuccessfully trying to determine which pins are RX/TX.


dgi wrote:

I'm shocked that AirLink101 responded to your inquiry like that, because when I contacted them, they told me they believe shipping a device with firmware in it does not constitute software distribution and is therefore not subject to the GPL's requirement to provide source, so source would only be provided for firmware images available for download from their website.

They were actually very helpful. I had to mail them a couple of times over a period of 2 weeks or so, but they finally posted it. I never heard any of the arguments they gave you. I was also surprised that they were so cooperative. I didn't expect it. Then, the gpl directory on their site disappeared. I emailed them, they said they were redesigning their site, and it would be back in a day or two. That was over a week ago.

dgi wrote:

This means that models that have not had firmware updates, like the AR360W3G, AR625W, and AR680W would not have source.

From looking at the #defines in the source, this code base (or at least parts of it) covers several of their products, so it might help extend OpenWRT support to more than just this one model.

dgi wrote:

This model should be trivial for OpenWRT to support, since it already supports all the hardware in it. The RDC port, which was developed primarily by florian and myself, would be the one that would cover this hardware.
http://wiki.openwrt.org/RDCPort
https://dev.openwrt.org/wiki/rdc

Thanks! Is there any way to know whether I'd be safe to simply build an RDC port firmware & flash the device, or do I need to make sure I have serial console access first?

Here's the download link:

http://downloads.astrogadgets.com/gpl/wmq138/

I also uploaded the patch files I've been looking at to determine what they've changed from the base linux release. Looks like a lot of stuff.

(Last edited by dcarter on 5 Nov 2007, 13:29)

Sorry, but the hostname ftp.astrogadgets.com does not resolve for me. Which other models are in #define's? I haven't looked closely at the openwrt code in a few weeks, but when I do (likely today), I will make sure I have a working serial console first.

JTAG:
1 Vcc
2 Ground
3 TCK
4 TDO
5 TDI
6 TMS

Serial:
1 RI
2 Vcc
3 CTS
4 RTS
5 Rx
6 DTR
7 DSR
8 Tx
9 DCD
10 Ground

It took me just a few minutes right now to figure out all of the above with just an ohmmeter.

Thanks for the pinout info. Do you know if HW flow control is required, or can I get by with just Ground/Tx/Rx?

dgi wrote:

Sorry, but the hostname ftp.astrogadgets.com does not resolve for me.

It's not working for me now, either, but it was when I posted this. I'll put a ticket in with my hosting provider & see if they can get it straightened out.

dgi wrote:

Which other models are in #define's?

This is from one of the Makefiles:

    if [ "${PROJECT_NAME}" == "WVQ138" ]; then\
        $(CPP) $(CPPFLAGS) -D_WVQ138 -D__ASSEMBLY__ -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@; \
    fi;
    if [ "${PROJECT_NAME}" == "DI824" ]; then\
        $(CPP) $(CPPFLAGS) -D_DI824 -D__ASSEMBLY__ -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@; \
    fi;
    if [ "${PROJECT_NAME}" == "MGB100" ]; then\
        $(CPP) $(CPPFLAGS) -D_MGB100 -D__ASSEMBLY__ -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@; \
    fi;
    if [ "${PROJECT_NAME}" == "MGB111" ]; then\
        $(CPP) $(CPPFLAGS) -D_MGB111 -D__ASSEMBLY__ -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@; \
    fi;
    if [ "${PROJECT_NAME}" == "WMQ138" ]; then\
        $(CPP) $(CPPFLAGS) -D_WMQ138 -D__ASSEMBLY__ -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@; \
    fi;
    if [ "${PROJECT_NAME}" == "WMQ139" ]; then\
        $(CPP) $(CPPFLAGS) -D_WMQ139 -D__ASSEMBLY__ -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@; \

try this to download :

ftp://astrogadgets.com/gpl/wmq138/

i;m little bit strange with AR360W3G. i hack the flash and got it not a linux but purely a firmware. and dunno contain firmware or not. Any suggesstion ?

Can other's friend give us the compiling firmware first ? This is for safety , when failed in upgrade.

And how reset the flash chip if failed.

jhonny_1977 wrote:

Can other's friend give us the compiling firmware first ? This is for safety , when failed in upgrade.

I don't believe AirLink101 has posted a firmware download for this model yet. Is there a way to download the current firmware image from the device to keep as a backup?

Depedency must have RCS package.

But now i failed compile the package gcc showing :

gen-devlist.c:7:19: error: stdio.h: No such file or directory
gen-devlist.c:8:20: error: string.h: No such file or directory
gen-devlist.c:13: error: expected ‘)’ before ‘*’ token
gen-devlist.c: In function ‘main’:
....
...
...

Any body know what's problem ?

And how to solve it.

About package is it different from original source and before sources ?

dgi wrote:

This model should be trivial for OpenWRT to support, since it already supports all the hardware in it. The RDC port, which was developed primarily by florian and myself, would be the one that would cover this hardware.

Could someone please outline the trivial steps that would required to extend support to this device? Or point me to documentation that already does this? I'm willing to read & to roll up my sleeves, but I'm not really sure where to begin.

1. read GPL_readme.txt
2. using suse 10.0.0.1
3. compile. and make some file link.

dgi wrote:

Sorry, but the hostname ftp.astrogadgets.com does not resolve for me. Which other models are in #define's? I haven't looked closely at the openwrt code in a few weeks, but when I do (likely today), I will make sure I have a working serial console first.

JTAG:
1 Vcc
2 Ground
3 TCK
4 TDO
5 TDI
6 TMS

Serial:
1 RI
2 Vcc
3 CTS
4 RTS
5 Rx
6 DTR
7 DSR
8 Tx
9 DCD
10 Ground

It took me just a few minutes right now to figure out all of the above with just an ohmmeter.

Is it this pin directly connect to computer or need one module to convert ?

nobody interest with this router ?

Is anybody working on this? I have this router too and would love to see openwrt running on it. Has anybody got it to work? any news at all?

The discussion might have continued from here.