I have tried to get the cdc_ether driver up and running with my 12d1:1f01 E353 USB modem, with some success.
I have:
* Downloaded cdc_ether.ko and usbnet.ko to my PC from
http://www.dd-wrt.com/phpBB2/viewtopic.php?t=79336&postdays=0&postorder=asc&start=0
* WAN connection typ set to "Disabled"
* Activated JFFS2 service in Administration->Management menu
* Activated SSHd in Services->Services menu
* Installed and used WinSCP program on my PC to transfer cdc_ether.ko and usbnet.ko to my /JFFS/ router directory
* Installed Putty on my PC for Telnet access to the router
* I then ran a sequence of commands to get the cdc_ether driver up and running with my modem:
usb 1-1: new high speed USB device using ehci_hcd and address 3
usb 1-1: configuration #1 chosen from 1 choice
eth2: register 'cdc_ether' at usb-0000:00:04.1-1, CDC Ethernet Device, 58:2c:80:13:92:63
I then take the eth2 device up and running:
ifconfig eth2 up
brctl addif br0 eth2
Then we take a look at the available interfaces by running ifconfig
OK, the ethernet driver seems to work properly. According to the sequence described in my previous post, we should now run the udhcpc (WAN DHCP client) towards eth2 to get an IP address from the USB dongle. This is where I am stuck now. I have tried, through Telnet, to run
Finally I have got my darn Huawei E353 device to allow me internet access through DD-WRT
To summarize this issue, the E353 Hilink USB modem, the 12d1:1f01 version, does not offer any serial modem interface (supported by DD-WRT), but instead a CDC ethernet adapter. Basic support for this new ethernet adapter can be added by adding the precomplied usbnet.ko and cdc_ether.ko packages to the router, and run a few script commands.
I my case, running a rev 19277 build, v24-sp2 (05/20/12) stdkong on a Netgear WNR-3500L unit, this means that a new "eth2" interface was added. The script work very well, and if saved as a startup script, it will create an eth2 interface at every startup.
The remaining task is to assign an IP address to eth2, and to redirect the WAN ethernet interface vlan2 traffic through the newly added interface.
This command does only work in the following sequence:
* Startup script to create eth2 is used
* WAN connection typ set to "Disabled"
* Restart router
* Router gets up and running
* Set WAN connection type to "DHCP"
* Set WAN connection typ set to "Disabled"
* Then manually run the udhcpc command described above.
* The udhcpc command then completes, however with errors:
Quote:
root@DD-WRT:~# udhcpc -i eth2 -p /var/run/udhcpc.pid -s /tmp/udhcpc
eth2: No such process
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
[1]+ Killed udhcpc -i eth2 -p /var/run/udhcpc.pid -s /tmp/udhcpc
root@DD-WRT:~#
Now it works to do the last part, redirecting from vlan2 to eth2, which can be accomplished by the following sequence:
Finally I have got my darn Huawei E353 device to allow me internet access through DD-WRT
To summarize this issue, the E353 Hilink USB modem, the 12d1:1f01 version, does not offer any serial modem interface (supported by DD-WRT), but instead a CDC ethernet adapter. Basic support for this new ethernet adapter can be added by adding the precomplied usbnet.ko and cdc_ether.ko packages to the router, and run a few script commands.
I my case, running a rev 19277 build, v24-sp2 (05/20/12) stdkong on a Netgear WNR-3500L unit, this means that a new "eth2" interface was added. The script work very well, and if saved as a startup script, it will create an eth2 interface at every startup.
I think your problem stems from eth2 being reserved within dd-wrt for a second wifi radio, the sequence of wl -i commands is dd-wrt trying to get the radio info.
I guess it would work much better if you have had a dual radio router in which case your Huawei stick would become the eth3 device.
Your connection has a private ip address, much the same as what you get from an ADSL modem unless you configure the modem for bridged mode.
What settings are available in the sticks internal web server that Uffe mentioned?
Does the stick have a built in ppp client which connects using logon credential which you enter in the web server?
When running the stick under windows, do you get a private or a public ip address on the win computer? _________________ Kernel panic: Aiee, killing interrupt handler!
Your connection has a private ip address, much the same as what you get from an ADSL modem unless you configure the modem for bridged mode.
Yepp, it acts very much like an ADSL modem (or router) with DHCP server enabled.
Quote:
What settings are available in the sticks internal web server that Uffe mentioned?
Web configuration interface is at 192.168.1.1.
There is a tab "Network Settings", but the only thing there is Registration Mode selector that is greyed out and set to "Automatic". Since the web page is branded to "3", I guess they may have chosen to lock it to avoid support issues.
Quote:
Does the stick have a built in ppp client which connects using logon credential which you enter in the web server?
Nope, no credentials. It asked for pin once, and ever since it is just to insert the stick.
The normal use in a Windows PC is to insert the stick, wait approx 15 seconds, and then a web browser is open automatically, showing the "3.se" as start page. Then it is just to start surfing, it is really simple to use.
It shows up as a "Windows Mobile-based Internet Sharing Device" under network connections (same thing when I look at the corresponding windows USB devices).
Quote:
When running the stick under windows, do you get a private or a public ip address on the win computer?
The connection gets the address via DHCP, everything looks the same as for any standard ethernet connection with DHCP.
C:\Documents and Settings\Administratör>ipconfig /all
but that did not change anything. Eth3 also works after the WAN disable -> WAN DHCP -> WAN disable sequence, otherwise not (see qoute below for response, it it same as with eth2)
My conclusion is that eth2 or eth3 does not matter, that is not the problem in this case.
Ok, I have experimented with udhcpc, and i think that the problem lays in the "-s" script that is referenced.
I the man page for udhcpc, and different DD-WRT places, the script file "default.script" is referenced, so I looked it up and added it to the router. With this script, I was able to get a dhcp address every time from the E353, but internet access did not work.
That file is however not used i current DD-WRT, instead /tmp/udhcpc is a symbolic link to /sbin/rc. I guess
that means that /sbin/rc is run whenever you run the udhcpc command. Regarding this, I must ask why
Quote:
root@DD-WRT:/tmp# udhcpc -i eth3 -p /var/run/udhcpc.pid -s /tmp/udhcpc
eth3: No such process
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
/usr/sbin/wl:-i eth2 interference 3 ->wl driver adapter not found
root@DD-WRT:/tmp#
does not give the same result. What is special with that symbolic link that make the /sbin/rc "run" properly?
My conclusion now is that something happens when the /sbin/rc "script" is run, that makes my internet connection work, under certain circumstances. Is /sbin/rc really a script, that file looks more like complied code than a script to me?
I know the topic is quite old, but seraching the net I have found it as was looking solution for E353 HiLink modem to use it on TP-Link router so hope this will help to somebody:
For a while been searching for the holy grail of disabling HiLink and reverting my new Huawei E3131 dongles back to the dialup modem based operation of previous dongles.
First step is to enable the serial console. To do this plug in your dongle and visit the following webpage
Quote:
http://192.168.1.1/html/switchProjectMode.html
The modem will now restart and present a couple of serial interfaces instead.
Connect to the fist of the two interfaces, eg /dev/ttyUSB0 with a Baud rate of 9600bps using a terminal client of your choice. I used minicom, which is available in most distros repos. And type the modem the following commands.
Quote:
AT^U2DIAG=0
AT+CFUN=4
AT+CFUN=6
If this is succesful it will respond with OK.
This will cause the device to permamently function in modem mode when plugged in. To restore its HiLink functionality. Do the same and send the following commands instead.
Quote:
AT^U2DIAG=119
AT+CFUN=4
AT+CFUN=6
Once the device has had its mode changed in this way. It requires removing and plugging back in to take effect.
Operating in modem mode it will change its product ID and should look like this (lsusb)
Quote:
Bus 001 Device 082: ID 12d1:1c05 Huawei Technologies Co., Ltd. E173s 3G broadband stick (modem on)
If you don’t have the virtual tty’s created upon device insertion. Then manually bind it too the option module like follows (As root obviously)