2009-01-27

Toshiba G450 working in OS X - whitout a reset!

Finally I have had the chance to play a bit with the official driver. Remember, the expected result was that it would only work if plugged since the booting of the Mac. That would be unfunny, but in my case it was even worse: as a lot of other people has reported, it didn´t seem work at all. The "Toshiba PC tool.app" reported that no modem was found, and no USB disk appeared, even though I tried resetting and reformating the G450 internal disk (through its own configuration menu). But finally I have found a solution. Not ideal, but not too painful, and it works. The problem was that the modem would remain in the disk mode - which in my Mac at least doesn´t even work properly, since it doesn´t get mounted as a disk. The only way I can see that it is supposed to behave like a disk is because it appears in System Profiler.app, in the USB devices list. And Console.app shows something about diskarbitrationd "unable to create /dev/disk2". When the G450 is turned off and gets connected to the computer, it displays a charging battery animation. And System Profiler reports a USB disk. When the G450 is turned on and gets connected to the computer, it also behaves like a disk. But a green LED glows in the modem´s screen. In Windows and Linux, when the G450 does switch to the modem function (thanks to a command which the driver should be sending to it), this green LED turns blue. And this wasn´t happening in the Mac. But during one of the reboots I tried, I noticed that the LED went blue just when the computer shut down. So, next start up, the G450 (which was still connected) was still in the modem mode, and this time the Toshiba PC tool app started up, detected the modem and offered a "Connect" button. Finally! (it also created 3 network interfaces, which surely will allow to control the modem through Ross' Scripts instead of the shitty Toshiba app, like I am doing now with the Huawei E220. But more on that some other day) So: somehow the G450 is switching to modem function when the computer shuts down. My guess is that the USB storage driver of OS X takes control of the G450 so the Toshiba driver can´t send the mode switch command, and when shutting down the USB storage driver finally lets go and the Toshiba driver manages to send the command just before the final shut down. Or maybe it is just some secondary effect of the USB bus going down. Anyway, it works, and is repeatable. But the best part is: there is no need to shut down. Turns out, that by putting the Mac to sleep (with the Sleep option in the Apple menu, or by closing the lid of the Macbook, for example) the effect is the same: the green LED turns blue, and afterwards the Toshiba PC tool works. (also, the Mac won´t really go to sleep! Looks like the G450 makes it to wake up as soon as it starts sleeping - but if the lid is closed the Mac will keep trying to sleep and immediately waking up. Not nice, I won´t be surprised if that causes some crash, and would recommend to save anything important you may have before trying that. Anyway, maybe this waking up effect I am seeing has something to do with the also nasty drivers from Huawei, which also installed some "USB wakeup" kext...). So finally I have been able to use the G450 in the Macbook. Now I will have to see if it is any better than the E220... which with polish operator Play is quite difficult to keep connected while using P2P apps. (I still don´t know if that is because of the Huawei drivers or because of the operator doing something funny... When I can I will experiment a bit with EFF's Switzerland or some other "funnyness detector") Just for completeness: I have tried to unload the USB Mass Storage driver in OS X to see if the Toshiba driver would work (with "sudo kextunload -b com.apple.iokit.IOUSBMassStorageClass"). No joy, and that even prevents the sleeping trick from working. So, better to leave that alone. (It works again after reloading the storage driver) Another way to force the mode switch would be using USB_ModeSwitch, which in OS X works after unloading the storage driver. But, until the sleeping trick causes any crash, I'll stick to it.

1 comment