Phidget SBC – Huawei E1752 3G USB modem – Part2

Happy days!

Well, the segmentation fault when running any network releated commands, was due to a issue in getaddrinfo.c in the uClibc library. When I applied a patch found on the maillist at it worked.

It sounds really simple, but there was a lot of trying and failing before I got it right. It short steps, this is what I did.

Step1 – Download source from and do an initial
#>make && make clean

Step2 – Applied the patch for getaddrinfo.c

Step3 – Added usb_modeswitch as a package from busybox

Step4 – Main configuration
#>make menuconfig
– Target options –> Phidget SBC Support –> Choose a release type (full)
– Package Selection for the target
(*) usb_modeswitch
(*) pppd

Step5 – Linux kernel configuration
#>make linux26-menuconfig
(m) Usb Serial Convert support – #Change from compiled into kernel to module
(*) Generic Serial
(m) Usb Driver GSM and CDMA modems
(*) PPP

Step6 – Create the final build

Flash the SBC, and you will have support for your 3G modem. You also need to change your usb_modeswitch.conf to include the switch for E1752. I also recommend to make a udev rule for an automatically switch.

Now you should have support for you Huawei E1753 Modem, now it was time to setup opp pppd. I found a really good thread on a Norwegian forum, witch had some detail information regarding pppd and chat scripts. With some modifications this worked as a charm on my setup.

The end result:

# uname -a
Linux Pilot #3 PREEMPT Fri Jan 22 08:09:47 CET 2010 armv4tl unknown
# lsusb
Bus 001 Device 005: ID 12d1:1001 #This is the Huawei E1753 3G Modem
# pppd call netcom
# ping
PING ( 56 data bytes
64 bytes from seq=0 ttl=50 time=391.774 ms
64 bytes from seq=1 ttl=50 time=390.239 ms
64 bytes from seq=2 ttl=50 time=385.180 ms
64 bytes from seq=3 ttl=50 time=380.198 ms
64 bytes from seq=4 ttl=50 time=395.199 ms
— ping statistics —
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 380.198/388.518/395.199 ms

Still some small scripting to have an automatic process connecting to the internet. Like default routing, resolve and dial only when I want to send my data (probably going to use cron for that). But the base system seams to work now, just need to add the sensors and start collecting data!

One Comment to

  • Steve W19/10/2011

    Hi, I’m trying to do the same thing. i.e. 3G on Phidgets 1070. Newbie to Linux, but learning fast I have a box running and have tried to follow your instructions a few times. I’m struggling with applying the patch. I know it’s a pain in the backside, but would you be able to offer some support by email?

  • Leave a Comments