July 2010
7 posts
5 tags
Had a small breakthrough today
More like a realization followed by revelation. $ kextfind . -dsym _ieee80211_ifattach IO80211Family.kext/Contents/PlugIns/AirPortAtheros.kext IO80211Family.kext/Contents/PlugIns/AirPortAtheros21.kext $ kextfind . -dsym _m_get System.kext/PlugIns/Private.kext System.kext/PlugIns/Unsupported.kext In other words, these symbols are accessible from any kext if we add a dependency on the...
Jul 12th
1 tag
Technical discussion on the net80211 port
As I have mentioned previously, I’m working to port OpenBSD’s net80211 layer, which is an IEEE 802.11-2007 WiFi stack, to Mac OS X. Haiku, an open-source operating system, managed to do this last year for their own kernel. So why is it taking us so long to do a similar thing for OS X? To start off, although it appears that the OS X kernel being partly based on BSD should make...
Jul 11th
Anonymous asked: waiting for intel 5100 agn drive for mac os thx
Jul 11th
Anonymous asked: Hi,

i just would like to ask if there is anything (Except Donations) that WE ( the People who were waiting for a working kext ) can do to help you with the Projekt? Coffee, Tea, Intel 5100 Cards,....

Just let us know :)
Jul 11th
Anonymous asked: hi i just want to know y the intel2200 kext doesn't work for me( i have a intel 2200 bg wireless card on 10.6.4) but when i install the voodoowireless and voodoowireless clipher and intel 3945 kexts the airport shows but i can't connect to any wifi with wep (they just tell me that you cannot connect just after i press the connect button)
Jul 11th
Anonymous asked: Hi,
there is a date when the beta of the driver for 4965 is released?
Thanks you
Jul 11th
Anonymous asked: Hello i have a intel 3945bg wireless card and i can't connect to me home's wifi cause its protected with wep and i installed the right kexts for that. My question is: Are you working on making the Wep and Wpa work? And if so, when will it be released
Jul 11th
June 2010
4 posts
Anonymous asked: Is it possible to help you port the net80211 or the drivers? If so, how much coding experience is necessary?
Jun 29th
3 tags
Here's the deal
I’m really not able to find time to work on project:camphor these days, though I think all it requires is around a week of hacking. So much has already been done (as I said the porting part is 90% done, hooking it to OSX hasn’t even been started yet). Also, my friend Vaibhav Bajpai will be joining in the porting effort soon. That should speed it up. I would just like to add that...
Jun 20th
Anonymous asked: So much better!!!!!... but.. a little color would be nicer... i could make a theme for the blog.... ;)
Jun 19th
3 tags
Comment feature removed (and theme update)
I have removed the ability to comment on posts, since it was no longer serving a useful purpose. People can still use the “Ask questions” link on the left side to ask questions which will be publicly answered if needed. The blog theme has also been updated to be easier on the eyes.
Jun 15th
May 2010
1 post
2 tags
Updates on the project
Since not everyone follows the Facebook page I thought I’ll summarize what has been happening with this project since I posted the last blog entry. As far as VoodooWireless and the HAL architecture is concerned, although it’s nicely designed, we have hit a dead end with regard to functionality and reliability. Unless an entire 802.11 stack is implemented (right now only the bare...
May 31st
March 2010
1 post
4 tags
VoodooWireless for Snow Leopard (and Intel 3945...
Those of you who’ve been following the Facebook updates know about this already VoodooWireless was successfully updated to be Snow Leopard compatible!** This is a big success as I never expected to be able to successfully decipher the changes Apple made to the IO80211 classes, and update the header files accordingly. But a lot of reading about C++ ABI and vtables later, I was able to do...
Mar 14th
1 note
February 2010
1 post
5 tags
Updates and future of Project:Camphor
After a long break, I’m back to provide updates on the current status and future of this project. We have hit some more roadblocks. In December, planned development was abruptly stopped because the laptop on which I was relying for 3945 testing went dead. It has since been resurrected by capable hands (just tonight), but it’s no longer with me. Anyhow, we’ll go back to the old...
Feb 10th
December 2009
1 post
6 tags
VoodooWireless SDK and Intel 2200 HAL source code... →
I have released the current version of the VoodooWireless SDK (headers) and the complete source code of the Intel 2200 driver’s HAL. Click the title of this post to access the Mercurial repository, which can be found at - http://opensource.mercurysquad.com/ voodoo-wireless-sdk contains the framework you will need to compile and link all HALs based on VoodooWireless. You must put the...
Dec 3rd
November 2009
3 posts
4 tags
For those who got kernel panics with the previous... →
Click the title of this post to download a fixed version of the kext. Remove the old kext, install this kext (along with VoodooWireless.kext and VoodooWirelessCipher.kext from the previous package). Then try again. If it doesn’t work, send me the log via email or pastebin - get the command from the previous blog post. If Airport turns off while trying to connect, turn it back on a...
Nov 19th
4 tags
Voodoo Intel 3945: pre-alpha download →
Since people are eager to test anything that’s available, I’m uploading a pre-alpha version for the Intel 3945 driver. Click this post’s title to download. You need to install all three kexts for it to work. Rebooting is generally not necessary. Leopard only (no Snow Leopard yet) Open networks only (no WEP, no WPA, no shared authentication) .11b/g networks only (no .11a) ...
Nov 13th
4 tags
Preparing to land: Intel 3945 for OS X is here!
Stephen H worked with me to test a couple versions of the driver today and we are reporting success. Association works. Data transfer works. Surfing works, chatting works. Almost a year’s work seems to have paid off. You can follow the development on the Facebook page as usual, there are a couple more screenshots there. What exactly works To be more specific about what works so far...
Nov 13th
October 2009
3 posts
4 tags
Donation link is back
By popular request, I’ve put the Donate link back! I will appreciate your generous monetary contributions to this effort. (Please note that although 90-95% of the driver is finished, it is still not usable because it cannot - yet - connect to networks. I’m working on it, but I think we have achieved enough progress to warrant putting the link back). Some stats are mentioned below....
Oct 24th
8 tags
Updates on 3945 driver HAL
Time for a status update! If you’ve been following the newsfeed, yesterday I managed to finish a majority of the driver for 3945. We’ve got scanning for networks, reception and transmission of packets working. The biggest difficulty was to get the card to actually connect to an existing network. Unlike the 2200, for the 3945, it appears that the driver needs to send...
Oct 24th
2 tags
Marathon coding: get set go
Quick note to say that I have the 3945 laptop for 1 week now, and marathon coding for next 6 days has started. By next Sunday 18 Oct, the driver will either work, or it will not work. Please use this page for up-to-minute information. Update 18 Oct 2009: From the facebook page I hope people are aware that 65-70% of the driver is finished. However, there are issues with system freeze on...
Oct 10th
1 note
September 2009
3 posts
4 tags
3945 HAL updates & comparison with 2200
It’s about time I consolidated the previous status updates into a blog entry of its own for those not following the facebook page. Around 20% of the HAL is coded by now. Lots of support functions were first written, followed by code for uploading firmware and microcode to the card. A particularly nasty bug with VoodooWireless was also tracked down and fixed which was causing kernel panics...
Sep 13th
3 tags
Facebook page and smaller updates!
Many people asked me to create twitter account so they could follow up-to-the-minute progress. So I created a facebook page instead because my twitter account is for personal use :P The FB page offers more features like photo albums and discussion in addition to twitter-like short updates. Feel free to subscribe to it. This blog will contain only more major updates. ...
Sep 5th
4 tags
Hell hath begun
Just got done with creating the 3945 HAL template based on VoodooWireless. There is barely any hardware-specific code in it right now, but the kext project and the subclassed functions are there with a few basic (getHardwareInfo() etc.) functions implemented. Firmware is converted. From here on, it’s a lot of mechanical work with a little bit of careful thinking and added technique, to...
Sep 1st
August 2009
4 posts
6 tags
Updates on VoodooWireless bugfix
As everyone probably knows, VoodooWireless is the major component which allows a hardware abstraction layer for a card to talk with OS X. This layer implements a nano-sized 802.11 (Wifi) stack and handles all Airport-related stuff. Few weeks ago I posted that this part was completed, and I’m trying to fix some bugs in it. Today the bug with packet transmission was fixed (it was an...
Aug 28th
1 tag
Out of town again
Hey guys, sorry for the lack of activity recently. I’m out of town these days. Progress update will come when there’s something worthwhile to report. 3945 target is still within this month I hope. And two reminders — I am not looking for any more beta testers! I am not looking for a 3945 card because it is incompatible with my laptop! Oh and one more thing: All the early...
Aug 19th
4 tags
Thanks to all those who emailed
I now have enough interested testers. Even if you didn’t get a reply directly, if you’ve emailed me, you are added to the pool of testers. There are some who I have contacted directly, who are first in line to get any beta versions when required. If they disappear or are otherwise unable to test, others from the pool will be contacted. Progress As a test case I’ve ported the...
Aug 8th
4 tags
VoodooWireless is now completed
Testing still remains, but the coding part is done. Some statistics: Lines of Code — Total: 2736, VoodooWireless only: 2200, VoodooWireless Ciphers only: 536 (WEP encryption only right now, decryption and WPA to be added later) Time taken: 58 hr 45 min Lines of code / hour = about 46 The API is basically finalized and I don’t envision any changes immediately, except of course...
Aug 2nd
July 2009
16 posts
5 tags
VoodooWireless is nearing completion
Just a quick update. The hardware-independent part of VoodooWireless framework is almost completed. What remains is handling of scan results, and handling the various apple80211Request() function calls and mapping relevant ones to hardware-dependent functions. Out of these the first part is somewhat complicated as a lot of decisions need to be taken on which results to store, for how long,...
Jul 30th
4 tags
Preview of VoodooWireless API
I’m publishing here an early preview of the API used to create wireless device HALs for VoodooWireless. There have been many big changes from the initial API that I designed. The most important change is that the HALs will no longer be a provider nub for the VoodooAirportBridge client — that design got way too complicated, for both development and testing, from the client’s as...
Jul 28th
1 tag
Back
I am back now and work on 3945 has started. No other updates currently, it’s still in very early stages.
Jul 26th
7 tags
Beta v05 of 2200BG driver and goodbye for a few...
A slightly updated and bug-fixed version of the 2200BG® driver is available from the Download page now. It has many small and big fixes which I don’t have time to describe in detail now, but in brief: Fixed bug in setting antenna sensitivity to large dBm values. Connections should be more stable now. Also changed antenna to “auto” (firmware selects best antenna) instead of...
Jul 13th
4 tags
Just one last update to the 'old' 2200BG driver
I have uploaded beta version 04 of the driver for 2200BG. Everyone is advised to update. This version fixes a very important bug in previous versions which was preventing the card from connecting in 11g and working at full speeds. It is available from the Downloads page. Note that in WEP networks during long transfers at high speeds, I have experienced frequent firmware errors resulting...
Jul 9th
4 tags
Suspend/resume support finished, and end-of-life...
I have fixed the last bit remaining: ability to turn the adapter back on after a suspend/resume cycle so that Airport can seamlessly reconnect to whichever network you were connected with. Also added a new sysctl key debug.wirelessmode which can be used to force either .11b, .11g or automatic mode selection. Set it to 0 (zero) for auto mode selection, 1 for .11b and 2 for .11g mode. Forcing a...
Jul 8th
4 tags
Jul 8th
4 tags
This is going to make many people happy: WEP works
I had some time to finish the software WEP crypto module, and then I sat down to test it. It was some hardcore testing with two laptops, one in monitor mode sniffing packets flowing in the air, then dissecting them byte for byte to find out what the problem was. I don’t even want to talk about it. Anyway: I got WEP working. In hardware. Yeah, turns out hardware WEP had been working...
Jul 8th
3 tags
Donating to the project
You can now donate to Project:Camphor! Currently it is possible to use PayPal or MoneyBookers to donate (credit cards, bank accounts, EC-Karte and GiroPay are all accepted). The amount is up to you. Pay via PayPal Note: The amount you enter on the page will be in Euro, not USD! If you want you can also directly send the donation (via PayPal) to email address mercurysquad@yahoo.com...
Jul 7th
3 tags
Intel 2200BG driver BETA available for download...
As promised, BETA version of the driver is available for download now. IMPORTANT: All versions of this driver include the latest version of the PRO/Wireless™ 2200BG firmware supplied by Intel®. This is covered by a special license. PLEASE READ THE LICENSE IN FULL AND MAKE SURE YOU AGREE WITH IT BEFORE YOU DOWNLOAD OR USE THIS DRIVER. Click here to read the license. In accordance with...
Jul 7th
2 notes
5 tags
Thanks for voting, here are my conclusions
First, thanks to “Paul” for creating a javascript/php based poll applet for me and apologies for not actually putting it online because I was too tired and fell alseep :D Now, 350-400 people have voted already despite the poll applets being buggy. I think the conclusions are clear anyhow. Not even 5% of the people are really looking for 2200BG driver — 3945 and 4965 are...
Jul 6th
6 tags
Time to explain The Bounty System and ask for your...
For this week and probably the next, I’ll be particularly busy with other work so the progress on the drivers is expected to be slow. However, the driver is already in a usable state for unencrypted connections and I’ve started work on software-based WEP and WPA1/2, borrowing heavily from the BSD net80211 stack, but redesigning it to be very object-oriented. In the meantime,...
Jul 6th
6 tags
A note about WEP and WPA
About the last thing remaining before the driver is ready for public release, is support for WEP and WPA1/2. Since a lot of people are wondering what use a wireless card driver will be if it can only connect to unsecured networks, here’s some information on the current status. The card supports WEP, TKIP and CCMP cipher suites in hardware. This means the card can itself encrypt and decrypt...
Jul 4th
2 tags
Jul 3rd
5 tags
Apple80211Monitor == tamed
YES! Found the incredibly arcane issue and now the problem I mentioned in my last post is fixed. Every wireless device needs to create an entry under /dev which is automatically done by the devfs system. The name of this entry must be less than 32 characters. Apple’s 802.11 system queries the driver for this status device name but I had no idea of the limitations in its naming. After I...
Jul 3rd
June 2009
11 posts
Slow transmit problems fixed
I tried everything, from using all 4 Tx queues to setting QoS parameters to doing internal queue management. Turns out none of that was needed - the driver was fine as it, but Apple80211Monitor.bundle which I had disabled for taking too much CPU power, was the reason. Enabled it on a hunch and now transmit/receive are all working perfectly. However configd and airportd are still eating up all...
Jun 30th
Quick request
Can someone who has an Airport-compatible card (not Intel!) by Broadcom or Atheros, please post the output of the command: sudo tcpdump -L -i en1 Where en1 should be replaced by the ID of your wireless adaptor, which you can find by typing ifconfig. EDIT: Thanks to those who’ve posted the output, I have the required info now.
Jun 30th
1 tag
I can't believe it.. the damn thing works :D
PREPARING TO LAND! PREPARING TO LAND I am posting this from project:camphor driver for Intel 2200BG! It works. This was hard, hard work. I managed to figure out the source of the problem with Tx of packets: the Tx descriptor’s layout was not correct. Took many tries to finally find the correct layout, cross-referencing with the Linux driver, and now everything works. The connection...
Jun 29th
6 tags
Rx works but Tx just won't..
This is a rather quick update. I’m working on getting 2200BG fully working, which means being able to transmit and receive packets. The good part is that receiving packets is working well, no issues with it : [VoodooIntel2200BG] INTR: Rx frame [VoodooIntel2200BG] Received DATA frame [7], len=150, chan=1, rssi=21, rssi_dbm=48, status=3, rate=10, signal=0, noise=0, antenna=33,...
Jun 29th
Hardware abstraction layer API is almost done
Just a quick note to say that the API that driver writers can use to plug into VoodooAirportBridge is almost done. It’s simply a collection of 6-7 functions that driver devs have to implement to hook into Airport natively. All other functionality will be handled by the superclass VoodooWirelessDevice. I’ve basically created a new family (like your IO80211Family or IONetworkingFamily...
Jun 20th
5 tags
Notes on redesigning the driver
This post will probably not be as interesting as screenshots of more things working, but nevertheless the info here is important. First, progress since last update: the Rx/Tx part is implemented, but there are still lots of bugs in it and it’s very simple right now. So it doesn’t work properly. I get firmware errors while trying to send packets, which I’ve not debugged yet. The...
Jun 12th
1 note
Hey everyone, thanks for all the offers to send a...
… my laptop has a miniPCI slot in it, while the 3945 uses miniPCIe slot. So at the moment I cannot plug it in to develop the drivers unless it comes with a matching laptop :P Hehe. I’ve tried it out, the slot sizes don’t match. I’m writing this as its own post because a lot of generous folks have offered to send me this wifi card (thanks), but at present I don’t...
Jun 11th