Posts

Showing posts with the label Ericsson W25

Difference between W25 SW and Netgear WNR2000v2 SW

Recently I bought some used Netgear 300 M routers for a very affordable price and I have checked a bit of the internal structure of the SW that came with that router. It was very interesting to look at the architecture of this software as it was quite different from the one found on W25. The first positive surprise is that Netgear provides the complete build environment for the router with a lot of source codes and instructions on how to build the firmware. I have actually not tried to build the firmware, but when checking the details of the operation I could find all the relevant source files. As far I know Ericsson has never released the source code of the W25, probably violating the GNU licence of lot of its components. On the other side the structure of the W25 is much nicer, it is like a mini linux machine keeping most of the conventions of the desktop linux operating systems. The configuration is stored in the /etc directory, the standard tools to set up the netwo...

Accessing W25 rw partition externally

Sometimes you may want to read all the files on your router on a desctop computer, you can do it the following way: Somehow get the binary content of the mtb5 partition (if you have cli access to the router you can use hexdump, or if you have access to the bootloader probably there is also a way to do it) Convert it to endiannes with jffs2dump -b -c -e output input Follow the steps here to mount the filesystem: https://wiki.maemo.org/Modifying_the_root_image It seems that jffs2dump is a bit buggy, so you not always can access all the files.

List of Ericsson W25 posts

In the last 3 years I have posted a lot about Ericsson W25 Here is the Table of Contents to ease to find what you are interested in: Hardware: Ericsson W25 Fixed Wireless Router Introduction Hardware of the Ericsson W25 Firmware: Software of the Ericsson W25 The internals of a firmware package for Ericsson W25 New Firmware released for Ericsson W25 (1.3 R9D) Changes in Ericsson W25 11B firmware Here in the posts there is a picture on how to solder a serial console to the W25 and some discussion on how to get the root password Upgrading Ericsson W25 to firmware 11B Available linux commands in the Ericsson W25 Ericsson W25 Administration manual and root password available SW extensions: Accessing the command line interface of the Ericsson W25 Starting your own init script in Ericsson W25 Ericsson W25 Dynamic DNS Speed measuring script for Ericsson W25 Ericsson W25 DNS tuning External WEB server on Ericsson W25 Ericsson W25 Sending and receiving SMS Wake On LAN with Ericsson W25 AJAX Net...

AJAX Network Control Center for Ericsson W25

Image
I have a relatively complicated network setup at home and wanted to create a frontend to them, where I can easily switch on/off the servers, manage the server and router configurations, see if the internet is up and running ans see how many client computers are connected. After evaluating some options I conluded to use an AJAX based solution, running on the Ericsson W25 3G router. The idea was to have a schematic diagram showing all the computers on the newtork, with buttons on the computers to do management tasks. So here is the result: As you can see there are boxes for al routers and computers, with the power button you can swicth on or off the servers or restart the internet connection. With the setup button you can go to the management web interface for the servers or routers. In the bottom of the picture you see the clients who have got IP address, their status is checked with arping, so even with a switched on firewall you can see the status. In the information field for the ser...

Ericsson W25 Administration manual and root password available

On their support forum http://fwt.ericsson.net/ Ericcson made available the Administation manual which also includes the passwords needed to get root access to the 3G router. This gives the possiblility for every owner, to get access to the Linux inside the box, and do some customization like DynDNS, WEB server, speed tests automatic restarts and more.

Changes in Ericsson W25 11B firmware

I have not checked it very thorowly, but Ericsson has changed a lot of the programs used in the Ericsson W25 router. I have mentioned before that the wget has dissapeared. The time setting from network is now fixed, it keeds up and running even after connecting and disconnecting to the ionternet. Another change that the DNS and DHCP services were changed to a program called DNS relay, you can find it's decription here. If you want your domain handled with it, simply put the following line in your /etc/dhcpdoptions.conf file: domain=your.domain Other new tool is the xl2tpd (which is not and excel to pdf converter :-) which is the tunneling (e.g. ipsec) handling part. description of a simmilar program can be found here.

Upgrading Ericsson W25 to firmware 11B

Image
After long monthes of perfect working, last week my internet connection trough the W25 started to become very unstable, most of the time even not working. Looking at the statistics it turned out that something hapened in the network, which increased the speed of my connection :-), but after approximately one day, the connection became unstable and was more down that working. My first guess was, that my operator has upgraded the serving cell from 3,6 Mbps to 7,2 and the 7D firmware I was using may have a bit buggy radio module. So I started the upgrade. First I have upgraded to 11A, because I have downloaded that already before, and with the bad connection I could not check if there is a better FW available. The upgrade from the WEB UI went pretty smothly, after waiting a lot for checking the radio module FW version, the procedure ended without any problem. I was a bit afraid, that my root password will be changed, but the upgrade behaved correctly and did not change my credien...

Available linux commands in the Ericsson W25

I have created a list of the available command in the W25. Most commands give you a short help if you invoke them with the -h parameter, but where I have found, I have added a link to the description of the command. Unfortunately this is from an older SW relese R6A019, but still most of the comands are valid: List of Ericsson W25 linux comands Where you see that the size of the file is 515908 these are the BusyBox commands.

Wake On LAN with Ericsson W25

After a lot of unsuccessfull experiments, finally I could manage to send out a Wake On LAN magic packet from the W25. The solution is not universal, because I rely on a second router on my home network, to respond to an outgoing TCP packet. The difficulty in WOL for the W25 is that I found only the netcat (nc) program suitable for sending out IP packets from the router and the version of nc implemented in the W25 doesn't support UDP packets. I have manually constructed a magic packet and saved it to a file. The command: nc router2 80 < wakecode.bin sends this packet the the second routers which silenlty ignores it, because this is not a valid HTTP request. But there is still a problem, that in a swicthed LAN this traffic reaches only the second router and not the computer to be waked up. The solution for this is to play with the arp addresses and manually assign the broadcast ethernet addres to the second routers IP address: arp -s 192.168.1.107 ff:ff:ff:ff:ff:ff after waking up...

Ericsson W25 Sending and receiving SMS

The firmware of the W25 doesn't support the handling of the SMS, but the bult in 3G modem does. So let's dig a bit into it and use this possibility. (In order to do this you need to have access to the command line of the W25). To control the modem of the W25 there are two commands to use: msctl - this is a high level handling with predefined command mctl - this is a low level command, which you can use to send AT command to the modem Try out: msctl rscp - this will give you the actual strength of your reception msctl issue ATI - this will give you information about the modem included in your device. Now if we would like to know, which AT commands we can use, we have to download the AT command book from the Sierra Wireless site: AT command reference . If this download will not work, just search the Sierre Wireless site for the AT command reference. When looking into this document, you will find a lot of interesting command, but you will soon realize that the command related to S...

External WEB server on Ericsson W25

After you have implemented the DynDNS for your W25 the next thing would be to have an external WEB server. As the W25 has a built in WEB server, it is only one line to start a web server. The command you should use is httpd . To start an external web server serving pages from the "web" directory of the connected Flash drive, issue the following command: httpd -i ppp0 -h /mnt/C2F8-E4F2/web This will start the web server from on the ppp0 interface, with the home directory being /mnt/C2F8-E4F2/web. The index file should be index.html. For all possible options to httpd issue httpd --help. To see the possibilities in the configuration file, go to the Busybox homepage and look at the examle coinfigutration file provided in the source for httpd.

New Firmware released for Ericsson W25 (1.3 R9D)

Half year after the last publicly released SW version from 21st January there is a new SW version available on the official website. According my previous readings the 1.3 SW version solves some security issues, a memory leak in the WLAN driver and some minor issues. When I will get a better internet connection, I will download the new package and update this post with the exact details.

Ericsson W25 DNS tuning

After using the W25 for some time I wanted to add a correct domain handling and certain new names to the DNS services offered by the router. Default behavior of the DNS system: The W25 uses the DNS server called DNRD which is a simple caching, forwarding DNS server, with the additional feature of being able to resolve names from /etc/hosts file. This is used in the original SW to add every local client after requesting an address trough DHCP. The updating of the hosts file is done by the script /bin/updatehostsfile which in is called by the script /etc/udhcpd/udhcpdnotify. The name of the script to be called by the dhcp daemon is specified in /etc/udhcpd.conf. Handling your internal domain with the W25: To handle your internal domain correctly you need to do the following: Add your local domain to the DHCP messages Create an updated "updatehostfile" script to include your domain names and fix addresses to the /etc/hosts file Change the dhcpd configuration to call your update...

Speed measuring script for Ericsson W25

Image
Earlier I had speed problems with my unit and I wanted to make sure if it is only perception or if it is a real speed problem. The concept what I have implemented was, that the unit should make a test every 15 minutes to check the download speed of the cellular connection. Then the result with some other relevant information is added to a file stored on the external USB flash drive. So here is the script: wget -q -O /dev/null http://www.ericssonw25.com/pdf/w25_V1.2_R6A019.zip & wget -q -O /dev/null http://www.ericssonw25.com/pdf/W25_Users_Guide_D.pdf & wget -q -O /dev/null http://www.ericssonw25.com/pdf/W25_Users_Guide_C.pdf & sleep 3; bejovo=`cat /proc/net/dev |grep ppp0 |cut -d":" -f2 |awk '{print$1}'`; sleep 5; bejovo1=`cat /proc/net/dev |grep ppp0|cut -d":" -f2 |awk '{print$1}'`; kill `pidof wget` echo `date '+%Y.%m.%d %H:%M'` `echo $bejovo $bejovo1 |awk '{print (($2-$1))/640}'` kbps `msctl rscp...

The internals of a firmware package for Ericsson W25

By analysing the /bin/swinst script it become clear, that the firmware package is a simple tar file, containing the software components to be upgraded. Usually it contains the following elements: metainfo - detailed information and MD5 summs of the components to be installed preinstall.sh - script to be executed before installing postinstall.sh - script to be executed after installation zImage - linux kernel rootfs.squahfs - root file system wanbl - wan module boatloader wanfw - wan module firmware The swinst script is quite complex, but basicly it download the firmware form the internet to the TMP directory, checks the checksums, checks the SW versions and if the upgrade is needed, the upgrades first the main firmware, then the WAN bootloader and then the WAN firmware. When installing the main firmware it increases the number used by RedBoot boot loader, this way it is garanteed, that on restart the new version will boot. On the other hand, if the installation is interrupted, the old ...

Ericsson W25 time syncronization

Using the default ip network based time sycronization has two disadvantages: As you can not set time zones your device will run always on GMT In the current SW version the ntp daemon is crasing after some days so you will loose syncronization You can change it to cellular based syncronization with the following commands on the command line interface: # cf set sntp.enabled false # cf set cellular.celltime true # cf commit This will use your local time and will run forever. I have implemeted this 2 days ago, but it turned out that you can use this only if you have good enough coverage, othervise you will not get the time from the cellular network. So I swicthed back to the ip network based syncronization and I will write a script to periodically restart the time syncronization process.

Ericsson W25 running binary files from other sources

I have spent some hours trying to find a propper source to get prebuilt binary files to be executed on the Ericsson W25 without sucess. I could figure out that I need "armeb" type files and I have found them in the Debian ARM packages and in OpenWRT kamikaze version, but none of them was usefull as the debian used a different version of the main c libraries and OpenWRT uses uLibC. If anyone know more sources of ready made binaries, please let me know.

Ericsson W25 Dynamic DNS

Dynamic DNS is a technology used to have a permanent address even if your ip address is changing all the time. To do this you have to register at one of the Dynamic DNS providers (I have used no-ip.com ), select a nice web address for yoursef (e.g. kiki.no-ip.info) update your ip address and access your computer on this new address (kiki.no-ip.info). The update of your ip address can be done automatically by this simple script. The script checks your IP address and if it is changed it simply request the https page defined for updating your ip address. You can find this address for other DynDNS providers in their developer documentation. When requesting the update, you even don't have to include your IP address as the server will see it from the request. #!bin/sh IP=`ifconfig ppp0 |grep "inet addr" |awk '{print $2}' |awk -F: '{print $2}'`; if [ ! -e /var/tmp/oldip ] ; then OLDIP="1"; else OLDIP=`cat /var/tmp/oldip`; fi; if [ $IP = $OLDIP ] ; ...

Starting your own init script in Ericsson W25

Update: In the SW version 1.3 you can simply put your init scripts to /rw/etc/init.d/rc.local and do not need this complicated method. If we want our extra changes remain after restarting the Ericsson W25 we need to reapply them after restarting the router again. Normally this is done by a custom init script which makes the necessary changes for us. In the W25 we need to do some special tricks to be able to start our own script as most of the /etc directory and the complete /etc/init.d is in a read only filesystem. However we are clever guys and we notice that the /etc/ppp/peers directory is in the rw filesystem and we know that for the pppd we can give a dialer program as a parameter. Let's use this for starting our own init script, when the unit first tries to connect to the 3G network. We have to change the following line in /etc/ppp/peers/3g: connect "/usr/sbin/chat -V -f /etc/ppp/chat/3g-connect" to the following: connect "/root/lchat -V -f /etc/ppp/chat/3g-co...

Software of the Ericsson W25

The Ericsson W25 is running an embebbed linux. When you power on your device first the bootloader is started. The bootloader is responsible for loading in the complete operating system and start it up. In the Ericsson W25 there is a RedBoot bootloader , which has plenty of features. It is capable of booting from network, from serial devices, it has a telnet interface etc., but in our case it just selects the propper linux kernel and the propper root file system and starts up the linux operating system. All the software to be loaded is stored in the built in ROM, in 9 partitons: 0x00000000-0x00080000 : "RedBoot" 0x00080000-0x001c0000 : "kernel_A" 0x001c0000-0x007a0000 : "rootfs_A" 0x007a0000-0x008e0000 : "kernel_B" 0x008e0000-0x00ec0000 : "rootfs_B" 0x00ec0000-0x00fa0000 : "rwfs" 0x00fa0000-0x00fe0000 : "test" 0x00fe0000-0x00fff000 : "FIS directory" 0x00fff000-0x01000000 : "RedBoot config" As you c...