Text Size

Login

logo6


Haikuware's Bloggers

- Speak, and be Heard! -

WLAN-Stack sum-up, on-going and future work.

Posted by: colin

Tagged in: Untagged 

colin

As you know the bounty was split into 3 stages.

Stage 1 included the big task of porting FreeBSD's wlan stack and making the atheros wifi driver work on Haiku.


Many testers helped out to improve the stack and the driver by filing bug reports. Special thanks goes to Joe Prostko, who helped me tracking down an interrupt storm during an intense IRC debug session lasting one week.

In the end of stage one, after both components were reasonable stable, I was granted commit access to Haiku's repository. Because of that you can now download a nightly image and have wifi for your atheros card out of the box.

This also changes the location where you file bug reports. From now on they are posted directly in Haiku's Trac system where you should select "Network & Internet" "Wireless" in the Component field. Though you need to be logged in to post a new bug.

The bug tracking system on osdrawer will no longer be used for this purpose. It continues existence solely for solving remaining open bugs and to have a backlog of solved bugs.

Stage 2 focused on implementing a configuration tool, so that you can scan for and join a specific wlan. It will take some time, until it is included into Haiku. This is mainly due to its review by another Haiku developer showing up some issues in the API, which is used by this tool. Solving these will take time.

At the moment the tool can be used with R1Alpha1, only. So now there is the situation where you have the atheros driver included in the nigthlies, but you cannot use the configuration tool with it.

To work around this I will publish recompiled versions of the configuration tool on osdrawer. This recompiled version can be spotted by the 5 digit revision number matching the Haiku revision it was compiled on.

So bug tracking for and retrieving of the configuration tool continues on osdrawer.

Stage 3 was about making all the FreeBSD 8 wlan drivers compileable under Haiku. This stage was successfully completed on December, 10 15 th. Moreover I started to make them executable right before the end of stage 3. Fact is all wlan drivers are executable now.

As there are:

  • aironetwifi supporting at least
    • Cisco Aironet 350 Series
    • Aironet PCI4500
    • Aironet PCI4800
  • atheroswifi supporting almost every chipset outthere (though no AR9285 chips)
  • broadcom43xx supporting
    • BCM4301, BCM4306, BCM4307, BCM4309, BCM4311, BCM4312  and BCM4318
  • iprowifi2100 supporting the 2100 chips
  • iprowifi2200 supporting
    • 2200BG
    • 2225BG
    • 2915ABG
  • iprowifi3945 supporting the 3945 chips
  • iprowifi4965 supporting the 4965 chips
  • marvell88w8335 supporting
    • Marvell Libertas 88W8310
    • Marvell Libertas 88W8335
  • marvell88w8363 supporting the 88W8363 chips
  • ralinkwifi supporting
    • RT2560
    • RT2561S
    • RT2561
    • RT2661
  • wavelanwifi supporting at least
    • 3Com Airconnect
    • GLPRISM2 WaveLAN
    • Intersil Prism3
    • Intersil Prism2.5
    • Linksys WDT11
    • Netgear MA301
    • PRISM2STA WaveLAN
    • Siemens SpeedStream
    • SMC 2602W
    • Us Robotics 2415
    • Addtron AWA-100 PCI

There is one restriction all drivers have in common: They only support PCI based devices, though no PCMCIA, CardBus, ExpressCard, USB or ISA based ones.

Only PCI, miniPCI, PCI-Express, miniPci-Express and PCI-X are supposed to work.

At the moment work is going on to include those drivers into the nightly images by default. This includes struggling with all the different firmware issues and their respective licenses putting different constraints on how to ship them with Haiku. A listing of the firmware based drivers can be found on the WirelessFirmwares wiki.

Once these firmware obstacles are taken, it is time for testers again. You'll take notice of it.

On big item on the wifi roadmap is encryption. Now that wifi is there, this is the biggest request I receive from different people. You are heared, but it will take time, and I won't start work on it until I finished my thesis and got myself a job ;) I think christmas 2010 is doable...

Besides the already mentioned Joe Prostko, I wanne thank Karl for helping me out of haikuware issues and for handling the money transfer professionally, Mark Erben and Daniel Bärthel for donating hardware, the Haiku developers for providing tips and critics, the numerous testers for their time and patience, the community for their applause and enthusiasm and to all the bounty donators for their trust!

The work continues...


2009-11-08: WiFi Configuration tool

Posted by: 4596

Tagged in: Untagged 

4596

In preparation of the second stage I released a testing version of the command line tool wlanconfig at:

http://dev.osdrawer.net/projects/haiku-wifi/files.

So what are its features?

  • Scan for available WLANs
  • Join a WLAN (no hidden WLANs though)
  • Show the WLAN you are connected to

The corresponding commands are printed out by issuing the command "wlanconfig help" in the terminal.

After downloading and unpacking the wlanconfig zip, you install it by executing the install.sh script.

To use wlanconfig to its full potential you have to download and install the latest atheros driver, too.

When reporting bugs: http://dev.osdrawer.net/projects/haiku-wifi/issues/new (you have to be logged in) please append the output of getsysteminfos.sh installed with the latest atheros driver.


Haiku gcc2hybrid and software for gcc4

Posted by: MaxOS

Tagged in: Untagged 

MaxOS

<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } -->

Hi Haiku users and developers

Im writting to You, because im feeling a little disturbed by path of development of haiku. As we all know the main target for haiku is BeOS compatibility. I was hoping that we will stay with gcc4hybrid, because its easier solution for developers wanting to dev / or porting apps to haiku. Unfortunately official Alpha 1 was released as gcc2hybrid. All ok, but what we have today? We're getting a lot of ports that uses additionally sdl gcc4 ports. This forces us to use both libs in haiku, and generates a really big mess in haikuOS builds [ some programs works / some not ]. We're getting into surreal situation that forcing us using both haiku builds - gcc2h and gcc4h to use some apps written for gcc4 and some for gcc2. I think we all need to find some substitute to this problem , otherwise we will not get anything more than messed shadow of real idea of haikuOS [ not to mention about lack of applications ]. haikuOS should be more user friendly than linux these days, this is our goal and we just cant bury the idea in this way..

 

Regards


TuneTracker Running Under Haiku

Posted by: dsuden

Tagged in: Untagged 

dsuden

TuneTracker Systems has successfully run the TuneTracker radio automation program under Haiku.  It took only modest work to get the "Command Center" automating component functioning under Haiku using an older version of SoundPlay, the player that forms the "audio engine" portion of TuneTracker.  Most of Command Center's functionality is already perfect, and when the newest version of SoundPlay is made compatible with Haiku, Command Center will be able to run 100% on the Haiku platform.

Other components in the TuneTracker System, such as the TunePrepper music ripper and prepper, Lightning request finder and playlist builder, and TT Anywhere remote administration server, all launch and run as well, and appear to only require minor work before they will do everything correctly.

Our plan is to have the entire TuneTracker software suite running great on this platform before Haiku R1 is released, and the fact that Haiku's developers have done such a good job with BeOS binary compatibility is really speeding up that process.

 


Take the Hardware Database Seriously

Posted by: dsuden

Tagged in: Untagged 

dsuden

Historically, the most popular BeOS downloads were, by far, hardware drivers; little software snippets that allowed BeOS to communicate with various sound cards, video cards, etc.  Why?  Because BeOS' built-in hardware support was quite limited.  One of the biggest obstacles to using BeOS was in making it work on any particular user's computer.

As with BeOS, Haiku is starting its public life with a limited selection of supported hardware.  To increase its usefulness to the largest number of people, it's essential, it's crucial, that we get as much information about what does work out to the masses, and the sooner the better.

Now that Haikuware has this beautiful web site, and a good start has been made at posting information about compatible hardware, there are no more good excuses for any of us not to put information on there about hardware that works with Haiku.  I've just posted information on the components that work for me, and I'd encourage absolutely everyone to do the same.

Even if another version of the hardware, i.e., another make and model of card with the same chipset already been posted, don't let that stop you from posting yours.  Not everyone is going to understand that their hardware will work as well because its onboard processor is the same.  They need to see those makes and models listed.

To my mind, it's one of the fastest, easiest ways to help the "Haiku Cause" in a very real way.

 


2009-09-24: Meeting the Deadline

Posted by: colin

Tagged in: Untagged 

colin

After several month of work to make WLAN a reality for Haiku the deadline finally arrives. Now let's look on the bounty fullfilment criterias and their status:

  • WLAN stack compiles error free within Haiku-gcc2 -> complete fulfilled:
    • Compiles 100% errorfree (in regard to Haiku R1/alpha1)
  • FreeBSD 7.1 WLAN drivers compile errofree -> partial fulfilled:
    • This one was updated to FreeBSD 8 to get the latest and hottest
    • 5 out of 10 drivers compile errorfree (1 is working fully -> atheros)
      • I'm not publishing the other 4 by intent. Because error free compilation doesn't mean that there is a driver binary at the end. It only means, that the compatibility layer provides function. And I don't wanne rise expectations that those 4 drivers are working ones.
  • At least 90 % of the testers passed testcriterias -> dropped
    • I never published any criterias, so who could verify them now?
  • Configuration tools are working in respect to my testenvironment -> partial fulfilled:
    • Haiku's builtin tools (Network Preflet, NetworkStatus Applet, ifconfig) are fully supported
    • WLAN specifc tools is missing
  • Atheros driver is working in respect to the testenvironment -> complete fulfilled


So what about the bounty now? Well due to only partial fulfilment the payment will be split up and will be bound to further sub goals.


  • The first 1/3 of the bounty, was received today for completely fulfilling 2 criterias, at least. Thanks to all donators!!!
  • The second payment will be for implementing a WLAN specific configuration tool till November, 15 th, 2009

    This config tool must provide the ability to
    • Show and scan available WLANs (show means presenting the name of the WLAN)
    • Select and Join a specific WLAN (important when there are several open WLANs around)
  • The third payment will be for making the last 5 WLAN drivers compile till December, 15 th, 2009

    Including following drivers:
    • an: Aironet Communications 4500/4800
    • iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG
    • ral: Ralink Technology RT2500/RT2501/RT2600
    • wi: Lucent Hermes & Intersil PRISM-II/PRISM-2.5/Prism-3
    • wpi: Intel 3945ABG


This will ensure progress towards implementing WLAN for Haiku. I think this splitting is in the best interest of all, especially of those who donated money to the bounty. Thank you!!!.


2009-09-24: Meeting the Deadline

Posted by: colin

Tagged in: Untagged 

colin

After several month of work to make WLAN a reality for Haiku the deadline finally arrives. Now let's look on the bounty fullfilment criterias and their status:

  • WLAN stack compiles error free within Haiku-gcc2 -> complete fulfilled:
    • Compiles 100% errorfree (in regard to Haiku R1/alpha1)
  • FreeBSD 7.1 WLAN drivers compile errofree -> partial fulfilled:
    • This one was updated to FreeBSD 8 to get the latest and hottest
    • 5 out of 10 drivers compile errorfree (1 is working fully -> atheros)
      • I'm not publishing the other 4 by intent. Because error free compilation doesn't mean that there is a driver binary at the end. It only means, that the compatibility layer provides function. And I don't wanne rise expectations that those 4 drivers are working ones.
  • At least 90 % of the testers passed testcriterias -> dropped
    • I never published any criterias, so who could verify them now?
  • Configuration tools are working in respect to my testenvironment -> partial fulfilled:
    • Haiku's builtin tools (Network Preflet, NetworkStatus Applet, ifconfig) are fully supported
    • WLAN specifc tools is missing
  • Atheros driver is working in respect to the testenvironment -> complete fulfilled


So what about the bounty now? Well due to only partial fulfilment the payment will be split up and will be bound to further sub goals.


  • The first 1/3 of the bounty, was received today for completely fulfilling 2 criterias, at least. Thanks to all donators!!!
  • The second payment will be for implementing a WLAN specific configuration tool till November, 15 th, 2009

    This config tool must provide the ability to
    • Show and scan available WLANs (show means presenting the name of the WLAN)
    • Select and Join a specific WLAN (important when there are several open WLANs around)
  • The third payment will be for making the last 5 WLAN drivers compile till December, 15 th, 2009

    Including following drivers:
    • an: Aironet Communications 4500/4800
    • iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG
    • ral: Ralink Technology RT2500/RT2501/RT2600
    • wi: Lucent Hermes & Intersil PRISM-II/PRISM-2.5/Prism-3
    • wpi: Intel 3945ABG


This will ensure progress towards implementing WLAN for Haiku. I think this splitting is in the best interest of all, especially of those who donated money to the bounty. Thank you!!!.


2009-08-30: Status update

Posted by: colin

Tagged in: WLAN , Wifi-Stack , WiFi

colin
This took quite some time without any visible outcome. Well if you'd put my head into a mr-tomograph you could see the IEEE arrow spinning around. Because of the final date coming closer I assembled following strategy to achieve WLAN for Haiku and my Master of Science in time:

  1. From 2009-09-01 till 2009-09-24 Porting the FreeBSD 8.0 WLAN Stack so that the goals of the bounty are met After feedback on my FreeBSD 7.1 port, I decided to use the new 8.0 instead. Mainly due to an updated atheros driver in the 8.0 version. It seems that the 7.1 atheros version doesn't work with netbooks. Although FreeBSD 8.0 isn't released yet, they had a feature freeze some time ago. So it is safe to start porting now.
  2. From 2009-09-28 till 2009-10-28 Finishing the design of the Haiku-tailored object oriented WLAN Stack with little respect to any FreeBSD compatibility
  3. From 2009-11-01 till 2009-12-01 Writing down my master-thesis about the outcome of 2.
  4. From 2009-12-03 till 2010-01-10 Preparing the defence of the thesis
  5. Extend 2. for FreeBSD compatibility
  6. Implement it.

2009-07-13: WiFi-stack design overview

Posted by: colin

Tagged in: WLAN , WiFi

colin

The next step towards the finishline, will be the design of a native Haiku WiFi-stack.The picture below shows a coarse view of how the stack will fit into the networking system.

The image maybe cut on the right border. In this case save the picture and open it with your favorite app.

As you can see there are two distinguished areas, one is colored green the other blue. Green shows already existing infrastructure, blue shows the infrastructure I'm going to provide. The arrows should be read as “depends on, uses features of”.

So the blue ellipse encapsulates the blueprint of the WiFi-stack. The inner structure of the yellow box, saying “WiFi-Stack” will be my next task. The main reasons for designing a Haiku-specific WiFi-stack (in contrast to modify/port the FreeBSD one) are to utilize Haiku's strengths (multithreading, object orientation, ...) and to get smaller driver code (due to lack of all the FreeBSD compatibility code).

After accomplishing the yellow one, I'll pay my attention to the yellow-red gradiented box saying “FreeBSD-Adapter”. This adapter will allow to use FreeBSD's WiFi driver and use them in Haiku with just recompiling them. As you can see this is the same idea as realized for LAN driver's by Hugo Santos.


2009-07-11: WiFi prototype works

Posted by: colin

Tagged in: WLAN

colin

 On the screenshot, you see Firefox surfing www.haiku-os.org and downloading a 100 MiB file from my ftp server in parallel. The terminal is showing the result of the ifconfig command for my WiFi-card.


The image is scaled down and maybe cut on the right border. For full resolution save the picture and open it with your favorite app.

I managed to port the FreeBSD WiFi-stack, utilizing Haiku's FreeBSD compatibility layer. Thus I could use the WiFi-card driver for my atheros chipset from FreeBSD without any major changes to its codebase (I had to move some interrupt handler code into driver-specific glue code). The driver-binary has a size of 500 KiB, due to compiling the WiFi-stack into a static library and statically linking it and the FreeBSD compat layer with the driver. The sources are up in the repository.

The atheros driver should support every atheros chipset, which are supported by the FreeBSD driver (look in the corresponding FreeBSD manpage for more information on supported chipsets).

Designing a Haiku specific WiFi-stack will be my next step. The proposed finish date of the bounty is still 2009/09/24.

For the brave only: The source can be checked out via svn checkout http://svn.osdrawer.net/haiku-wifi/prototype/trunk/wifi. I recommend you use the 3rdparty subdirectory as checkout location, because the Jamfiles expect themselves there. With jam ath everything needed (customized FreeBSD compat layer, WiFi stack, atheros driver) gets built.

Update: For developing I used a gcc2 build environment and Haiku rev. 31286 was the newest I tested it on. There are no settings to set to make this driver work. Just put the driver in /home/config/add-ons/kernel/drivers/bin an make a symlink to /home/config/add-ons/kernel/drivers/dev/net/ath. A reboot could be required to make Haiku recognize the new driver.

To check whether your atheros card gets at least detected by this driver, watch the debug messages during the bootphase or look into the /boot/var/log/syslog file. If you see something like

Adding entry for IEEE 802.11 Wireless Ethernet mode autoselect autoselect
Adding entry for IEEE 802.11 Wireless Ethernet mode autoselect autoselect <adhoc>
Adding entry for IEEE 802.11 Wireless Ethernet mode autoselect autoselect <hostap>
Adding entry for IEEE 802.11 Wireless Ethernet mode autoselect autoselect <flag0,adhoc>
Adding entry for IEEE 802.11 Wireless Ethernet mode autoselect autoselect <monitor>

you know that your card is detected.

Update2: To connect to a WLAN make sure that it is an unprotected (no WPE, WPA, WPA2) one that doesn't need a password for login. On my Fritz!Box this is called "unverschlüsselten Zugang aktivieren" (activate unencrypted access).

For more information on technical aspects of the hardware I use surf to the bounty proposal and select the "Technical Information" tab.


I will give no support for this prototype 'cuz it is a prototype ;-). It is intended for the purpose of gaining knowledge, only.


First successful build of Qt on Haiku!

Posted by: BrunoBratwurst

Tagged in: Untagged 

BrunoBratwurst
I just find this post from Evgeny Abdraimov on OsDrawer:

QT-Haiku First successful build of Qt on Haiku! Today QtGui library of QT framework successfully builded on Hauki at first time. Its pure unusable at this time, but simple examples (analog clock, electronic clock) already work =) !http://i43.tinypic.com/22cpld.png! Evgeny Abdraimov

 

 


2009-04-18: Summary

Posted by: colin

Tagged in: Wifi-Stack

colin
After I got RAM-limiting to work (see 2009-04-18: Limiting the available RAM to Haiku) I proceeded in porting the ath driver.

  1. Open the file
    HAIKU/build/config_headers/kernel_debug_config.h
  2. Uncomment and change the line
    //#define LIMIT_AVAILABLE_MEMORY	256
    to
    #define LIMIT_AVAILABLE_MEMORY	1024
    if you wanne limit the available RAM to 1024 MB
  3. Rebuild Haiku

2009-04-17: Summary

Posted by: colin

Tagged in: Wifi-Stack

colin
Spending most of the day into limiting the available RAM to Haiku. Also updating the History document (see 2009-04-16: History: Changing names, how OpenBeOS became Haiku).

HAIKU_SRC/add-ons/accelerants/nvidia/engine/nv_general.c

However my card isn't supported eitherway, because it is an 8xxx. This information was gathered from the file

HAIKU_SRC/add-ons/kernel/drivers/graphics/nvidia/README.html

The Largest BeOS/Haiku Software Repository