Archive

Archive for April 27th, 2009

EeePC & OS X: W-Lan (Hackintosh)

Written on April 27th 2009, 09:04 by sYnie

I installed OS X on my little EeePC 900a. After using some different Images and also trying to Install my original copy of Leopard, I ended up with iATKOS 5i. Most of the Hardware worked out of the box. Even hotplug, what didn’t work before.
There are some things that didn’t work:

  • Display resolution
  • Ethernet
  • WiFi
  • Sound

I got it managed to make them work, by now. Well, almost ;-)
As soon as I’m finished with this OS X on EeePC, I’ll post all the things I had to do to get them running. But before this, I want to share my experience with the built in Atheros WiFi card.
Vendor ID: [168c:001c]
Subsystem: [1a3b:1026]

Different OS’ display this device with different names. But as far as I know, it’s an AR5007EG. There are various tutorials out there to get this card working. Well, at least in some way.
Have a look at this discussion:
http://www.insanelymac.com/forum/index.php?showtopic=138351
18 Pages – all about this card and different types of it. There are some ways, that really work. But you’ll need Kismac to make this device see wireless networks after every reboot. It works like this:

  • Before you shutdown your EeePC, you must turn the Airport off.
  • After booting, turn it on.
  • Run Kismac and scan for wirelless networks with Airport Extreme Passive Drivers.
  • Now your Airport will notice all the new networks.

And if you get Kernel Panics:

  • Remove Extensions.mkext* before every shutdown.

And believe me – it’s not nice to do this every boot/shutdown. I wrote scripts, that do exactly this. I still need Kismac for making the Airport notice the networks, but I’m on it. Kismac replaces the Airport drivers during scan to use it in monitor mode. I’m still finding out how everything works, and so on. But have a look into the Resources directory within Kismac. It provides all the kext files. Also there is a driver called “viha” which uses the WLanDriver.kext. Viha is an Airport driver and W-Lan utility, which also provides a shell based network stumbler. I think this is the way to go … But I’m still experimenting.

If you’re annoyed by turning on/off the Airport, removing the Extensions.kext and firing up Kismac, then use these scripts. They work for me:

1. Preparing
Open System Preferences and go to Network. Write down your Location at the top. Mine is called AON, but usually yours is named “Automatic”. Create a new one and call it “AOFF”. Within “AOFF” you’ll have to remove Airport from the list on the right side. Add another (unused) service, if you can’t remove Airport. Switch back to “Automatic”, apply and close it.
AOFF will be used to switch off the Airport. You can’t do this via shell, but you can switch those network profiles via shell. If you switch to a profile, that has no Airport service, it’ll be turned off. You can try this by switching between these networks, applying them, and looking for what happens with your Airport symbol on the top of your screen.

2. Login-/LogoutHooks:
Create two files, somewhere (Mine are located in /Library) which will be used for Airport and Extensions. I’ve called them wlankickstart and wlankickstop ;-)

wlankickstart looks like this:

#!/bin/bash
scselect Automatic

Replace “Automatic” with your default network Location, or leave it, if you’re not sure.

wlankickstop looks like this:

#!/bin/bash
scselect AOFF
rm /System/Library/Extensions.mkext*

If you don’t have random kernel panics during boot time, then remove the last line, because it causes an annoying system message during shutdown.

Make those files executable (chmod a+x filename) and store them somewhere.
Now we’re gonna make them executed while login/logout:
sudo defaults write com.apple.loginwindow LoginHook “/path/to/wlankickstart”
sudo defaults write com.apple.loginwindow LogoutHook “/path/to/wlankickstop”

Now Extensions.mkext will be beleted and Airport will be turned on/off during boot/shutdown.

3. Kismac
If you don’t have it, download and install it. Open Script Editor from /Applications/AppleScript and write a new script:

tell application “KisMAC”
activate
startScan
delay 5
stopScan
quit
end tell

Try it. It’ll run Kismac, scan for 5 secs and turn it off. Make sure, Kismac uses the Airport Extreme Passive Driver. Compile this script and save it as an Applications (without “Startup Screen”). Now Open up System Preferences, go to Accounts, select your user, go to Login Items and add the previous compiled application.

You’re done. Reboot and enjoy. Now you’ll only have to select your W-Lan Network after a reboot instead of doing this process by your own.
It works? Give me a comment ;-)