Connection Huawei Mobile Stick to Reach

Hi,

i now can connect my Reach to the Internet via a Huawei 3G UMTS Dongle.

I had a lot of trouble doing this, so I want to give you some advice how I have done it.

I use a Huawei e3531 UMTS Donge with HiLink.

The first Problem was switching the Stick from CD-Rom Device to Ethernet Device. In normal Linux Distributs this is done by usb_modeswitch, but this tool is not installed on Reach.
So I used the Driver deliverd on the Dongle (Read out by a PC because the Reach can not read from the CD-Rom Device). You cann find the driver in the ZIP File I atteched in the folder huawei_cdrom.

Trying to install the Driver by autorun.sh shows a error becaus of the missing libusb-0.1.
So we have to install it.
Downlaod from: https://sourceforge.net/projects/libusb/files/libusb-0.1%20(LEGACY)/
or use the one in in the attached zip file. But be Aware of the user premissions.
Unzip the download.
In the unziped folder call:
./configure
make
make install
And after that you have to mak a symbolic link to the lib folder
ln -s /usr/local/lib/libusb-0.1.so.4 /lib/libusb-0.1.so.4
Now you can install the huawei Driver by calling
./autorun.sh

Now the driver is intalled but will not start at startup.
So we copy the script to /etc/init.d by:

cp /usr/local/MobileBrServ/mbbservice /etc/init.d/mbbservice.sh

and add it to the rc by:

update-rc.d mbbservice.sh defaults

Now the driver/service will be started at startup.

After plugging in the Huawei donge will be switchted into the network deviec mode. But the Reach do not have installed the driver for usb ethernet deviecs, so we have to intall the driver too.
For that i have compiled the kernel modul cdc-ether with the yocto toolchain, which was a litle bit tricky. But if you have the compiled .ipk File which you can find in the attached zip File you only need to call.

opkg install kernel-module-cdc-ether_3.10.17-r0_edison.ipk

Now the UMTS dongle will be recognized as a ethernet device.

If you do not want that the Interface is renamed from eth0 to a Special unique name call:

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

If you have done thist you can add the two lines below to the Reach Startup Skript to bring the Interface up and get a IP address for it.

ifconfig up eth0
udhcpc -i eth0

I call this two lines after the Connection to the wifi, so that the Donge has enough time to start up.

Now I only have the Problem that I can not connect the Dongle direct by the OTG-Cable becaue it seems there are EMI problems.
If i use a USB hub with separat power supply the signal strength of the GNS satelites go down by half. So there is clearly a problem.

If you have some questions or some feedback feel free to say what you think :wink:

Reach3G.zip (4.5 MB)

3 Likes