[kismac] HAL(hopefully) converted to Mach-O

  • From: "Michael Miller" <1337mail@xxxxxxxxx>
  • To: kismac@xxxxxxxxxxxxx
  • Date: Sun, 12 Aug 2007 03:52:55 -0400

Hey all,
As you probably know, the madwifi project provides full support for
(almost) all Atheros wireless devices on Linux(including the AR5008,
featured in Macbook Pros with 802.11n). The driver portion is open
source, but the HAL is closed source. The HAL(see
http://people.freebsd.org/~sam/ath_hal-20070428.tgz) takes care of the
interaction with the hardware. Sam Leffler is hired by Atheros to
maintain the HAL(he is given access to specifications of the wireless
devices under an NDA). He publishes the HAL in binary(ELF) format
which works on most *nix variants(Linux,FreeBSD, etc). Problem is, the
ELF binary format is not supported on Mac OSX, which uses Mach-O
instead. It has been my impression that this is the reason that the
HAL has not been integrated(or attempted to be integrated) into

Today, I found a utility, objconv(see
http://www.agner.org/optimize/objconv.zip). I ran it as such(yes, I
ran it on windows with boot camp):
C:\Documents and Settings\Mike\Desktop>objconv -fmacho32 hal.o hal2.o

Input file: hal.o, output file: hal2.o
Converting from ELF32 to Mach-O Little Endian32

  1 Debug sections removed
  0 Exception sections removed

So, this produces a HAL in Mach-O format. Of course, I can't test this
until a driver is built. I don't even know if this file is converted
properly. But, if this works, and the kismac team manages to develop a
driver around it, all atheros devices will be supported, with full
injection/scanning support!

A note to the kismac developers: I'd be glad to help anywhere
possible, but I have little objective c experience, and no
IOKit/driver development experience.

Hope that helps,

Other related posts: