Foliovision Logo

Mobile Internet, Skype and Mac OS X

September 4th, 2008

I was reluctant to try mobile internet. I was worried that mobile internet on my Macbook would:

  • be clumsy in use
  • cause unexplained crashes
  • require lots of troubleshooting
  • be unreliable

Well unfortunately my concerns were justified. 

vodafone a1 e220 modem
vodafone a1 e220 modem

Over the last few days since I picked up my trial Vodafone modem at A1 in Vienna, I've had to: 

  • restart my Macbook a dozen times to get the modem running again
  • endure Skype flaking out on me six times while speaking with both clients and staff
  • hard restart the computer after kernel panic
  • uninstall and reinstall the VodafoneMCInstaller.2.09.01.00 five times
  • spend hours finding and diagnosing the problem

This post is to help you avoid these issues and to enjoy troublefree use of your modem.

 

Point one, the best way to avoid mobile internet issues is not to use it. For most people a stable DSL or cable connection is more than enough. Fussy wireless technology is a time sink. If I could have back the hours I've wasted on Bluetooth devices, I'd have either two weeks of vacation or a couple thousand more euros in my bank account.

If you do wish to persist with mobile internet, the next best trick would be to insist on a self-sufficient modem-router. Advantages:

  • DHCP routing is not going to crash your computer
  • DHCP routing is not going to cause kernel panics
  • you don't need to install any special - read buggy - software into your system
  • If there is a problem, the mobile phone company has to troubleshoot it as any issue will be on their hardware and their network and not on your computer.
huawei e960
huawei e960

The big disadvantage of a mobile router, I believe you have to plug it into the wall - actually the Huawei E960 and E970 run off of USB power but do the routing via ethernet.

Alas, for the moment, the most common modem for mobile internet is the Huawei E220 HSDPA USB Modem.

If you do get stuck with one of these USB modems (they come free with your plan and lots of carriers don't offer the E960/E970 even iwith an upgrade premium - for instance in Austria, A1 doesn't offer the E960/E970 but Drei does: a very good reason to choose Drei), you will have to do some surgery on your Mac OS X system files.

Originally when I ran into problems with Skype, I thought it was bad old A1 (a cellphone company) blocking Skype just out of spite - as a threat to their business model.

It turns out the issue is much more benign. There are core issues with the Huawei Mac OX USB drivers.

What they principally do wrong is to write to the System log many times per minute, causing:

  • the log to grow to be huge (instead of 50kb my system log was 153 MB at its peak, along with 23 MB of database in the asl.db file (/var/log/asl.db)
  • tying up the hard drive and processor reading and writing these huge files multiple times per minute
  • corrupt a kext from the E220 driver, forcing the user to uninstall and reinstall the software (three reboots! round trip)

Here is the pointless text which gets written every few seconds:

Sep 3 21:07:23 mk084020185026 kernel[0]: ::dataReadComplete: dingjianjian = 4
Sep 3 21:07:23 mk084020185026 kernel[0]: ::dataReadComplete: State:-431226754, Read len:123, return status 0.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::AddtoQueue: Enter, Size = 123.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::AddtoQueue: Exit, Return: 123.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::RemovefromQueue: Enter, MaciSize = 1020.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::RemovefromQueue: Exit, Return: 123.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::RemovefromQueue: Enter, MaciSize = 1020.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::RemovefromQueue: Exit, Return: 0.
Sep 3 21:07:23 mk084020185026 diskarbitrationd33: unable to probe /dev/disk1s0 (status code 0xFFFFFFFC).
Sep 3 21:07:23 mk084020185026 kernel[0]: ::enqueueData: State:-431226754, Write len:45.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::AddtoQueue: Enter, Size = 45.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::AddtoQueue: Exit, Return: 45.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::RemovefromQueue: Enter, MaciSize = 4096.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::RemovefromQueue: Exit, Return: 45.
Sep 3 21:07:23 mk084020185026 kernel[0]: ::SetUpTransmit: Tx is empty.

You can check for this on your own computer by opening up the Console (Applications/Utilities/Console) and clicking on System log.

The immediate emergency solution is to just run these two commands:

  • sudo rm /var/log/asl.db
  • sudo rm /var/log/system.log

The two system logs will be recreated immediately but will be at a manageable size again. Done periodically, you can probably keep running as an occasional user like this. (If you want to see those files to check their sizes you need to make hidden files visible with TinkerTool or use Pathfinder.)

The real solution is to stop the E220 writing to the system log in the first place.

It's easily enough done. The file you need to alter is:

/System/Library/LaunchDaemons/com.apple.syslogd.plist

You need to open it up and change this file. As neither the file or the directory are writeable, you need to use one of the following:

  • terminal and vim
  • BBEdit (which can write to System only directories with authorisation)
  • Lingon (free utility, instructions on how to change syslog)
  • Property List Editor (but to use Property List Editor you need to move com.apple.syslogd.plist to the desktop and then back again)

What you need to change are the parameters of the Syslog: what it records.

You want to change it from:

/usr/sbin/syslogd to /usr/sbin/syslogd -c

to:

/usr/sbin/syslogd to /usr/sbin/syslogd -c 0 -a

This setup will only allow emergency messages to get through. 0 is the highest of 8 levels. You can experiment with lower levels to see what the cut off point for dingjianjian messages is. If you find it, please let me know. -a just clears out the database and log file every 24 hours. You don't actually need to do that if you are at level 0 as very few if any messages will ever be logged.

The section you want to change is Program Arguments. When you are finished it should look like this:

<  <key>ProgramArguments</key>
  <array>
    <string>/usr/sbin/syslogd</string>
    <string>-c</string>
    <string>0</string>
    <string>-a</string>
  </array><

The one major problem with this approach is that you lose your system log. If you ever do suffer system instability, the system log is a very useful tool for troubleshooting.

Something else which I did which didn't harm performance in any way is that I changed the modem from HUAWEI to Generic in the advance settings in the network panel. 

generic HSDPA settings
generic HSDPA settings

Every time you connect or after waking from sleep, you have to start the Vodafone Mobile Connect, wait for it to find a connection, press activate: 

vodafone mobile connect
vodafone mobile connect

Finally you connect via the menu bar modem item. 

huawei e220 hsdpa connect
huawei e220 hsdpa connect

PERFORMANCE

When it is working, HSDPA is fast. I was getting download speeds of over 420 KB/sec and upload speeds of 40 KB/sec. That's more than enough for personal work. iTunes streaming worked without interrruption.

So the negatives with mobile internet are with software and not with the hardware. I did take the precaution of using a very long USB to mini-USB cable to keep the modem a couple of meters away. I don't think sitting within a few centimetres of an active modem all day long is an experiment I would like to perform on my own body.

What you (and I) really want is self-sufficient modem appliances which don't require the installation of complicated software or require multistep procedures to log in every time. Anything you add to your core OS just creates more potential problems.

And problems are time. And time is money. Alas, it appears the E960/E970 appliances can only be obtained from providers. Choose your provide accordingly.

OTHER RESOURCES

 


Tags: none

IT | Comments | Trackback

del.icio.us Digg Ma.gnolia StumbleUpon Technorati Jump to the top of this page

 

5 comments on “Mobile Internet, Skype and Mac OS X”

  1. 01

    Hi there,

    Level 3 seems to work i.e. /usr/sbin/syslogd to /usr/sbin/syslogd -c 3 -a

    Thanks for a great article.

    Jack Dalton at September 15th, 2008 around 9:07 am
    Jump to the top of this page
  2. 02

    Hello Jack,

    Thanks for stopping by to let me know.

    I’ll make the adjustment now for my own system.

    Great when the internet works the way it’s supposed to (people helping other people - saving time for everyone)!

    alec at September 24th, 2008 around 7:28 am
    Jump to the top of this page
  3. 03

    thank you. excellent post and valuable insights here. hopefully the kernel panics are a thing of the past. huawei needs to get some top mac dev guys to redo their driver. the whole bit feels like a hack.

    you rock

    anthony at November 28th, 2008 around 5:26 am
    Jump to the top of this page
  4. 04

    hi there,
    think it can help when modem is installed. But what to do if self-installation of spanish Orange is not working on my Mac?

    Dmitry at December 5th, 2008 around 4:59 pm
    Jump to the top of this page
  5. 05

    Hello Anthony,

    You are right - the whole thing feels like a bit of a hack. I’ve used both the A1 drivers now as well as the Telecom Austria drivers (they are different) and both are clumsy. If I’ve run Huawei at any time, I find my Macbook a little bit wonky until I do a restart. Generally I try to avoid using my Mobile Internet account unless it’s an emergency.

    With Spanish Orange, I’d recommend getting the E 220 original drivers from Huawei and doing a manual configuration. You will need a number of parameters including the dialup number and the password - a helpful senior tech from Spanish Orange (sounds sexy) could give you the info you need.

    For everyone’s information, the trick of changing the system log level is no longer working for me under OS 10.5.5

    As I don’t use the modem much, the way I handle the overflowing logs is to just make sure to delete them every couple of hours:

    sudo rm /var/log/asl.db
    sudo rm /var/log/system.log

    alec at December 8th, 2008 around 12:59 pm
    Jump to the top of this page

Leave a Reply

  •  
  •  
  •  

You can keep track of new comments to this post with the comments feed.

Recent Posts

Recent Comments: