Login

logo6


Haikuware's Bloggers

- Speak, and be Heard! -

The beginning...

Posted by: pistooli

Tagged in: Untagged 

pistooli

It's time!

 

I decided to use Haiku OS, as my primary operating system. Well, I am aware that this is still alpha, and there are a lots of bugs to iron out before it could be considered stable, be hey, its an adventure, it's technology.

When I say primary, I mean it. I'll try to do everything on a daily basis with Haiku OS. Web browsing (WebPositive, Arora and good old Mozilla), emails (built in Email), wordprocessing (ouch, Goggle Docs, perhaps Gobe Positive and good old Styleedit), and of course image manipulation, music, videos, torrents, etc. Ambitious plans, I know.

 

In order to succeed, I'll use my trusted IBM Thinkpad X31 machine. It's not the latest and greatest, but certainly a well supported little notebook for Haiku OS.

Native video, sound, and wifi (ipw2100) and a hard drive made dual boot between Haiku OS and Ubuntu 10.4 as a fallback OS.

 

For my daily survival training I installed Haiku Alpha2 on the X31. I though I might put a newer nightly on it, but lets start with it, and worst comes to worst, I will upgrade it on the fly. Upgrading will be perhaps also a good experiment.

 

Originaly I plan to use the following softwares regulary:

 

- WebPositive (r515)

- Email

- Caya

- NetPositive

- Vision

- WonderBrush

- HaikuTwitter

- Paladin

- Some games

(and whatever is needed, will be posted)

 

While the entire experiment is about to see how useable it is, bug reporting, and original BeOS softwares testing is also on the agenda. The list above clearly show the state of Haiku OS. Most of the sofwares are still in heavy development, few are original BeOS applications.

 

Haiku as an OS is nothing new for me. As a matter of fact I was using it more and more in the last couple of months (especialy since WebPositive surfaced).

 

Some words about the hardware and how well it is supported in Haiku Alpha2.

 

http://haikuware.com/details/ibm-thinkpad-x31

 

Practically everything is supported (bluetooth untested), video, sound have native drivers, wifi works with the ipw2100 driver (wired ethernet also available, but I never used).

The nice thing is that battery info shows current charge - thanks to acpi, which is enabled by default in Alpha2.

The bonus is that CPU throttling also works, which helps enhancing the battery time (around 2 hrs).

 

The hardware under the hood:

 

~> listdev


device Communication controller (Modem, Generic) [7|3|0]

vendor 8086: Intel Corporation

device 24c6: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller


device Multimedia controller (Multimedia audio controller) [4|1|0]

vendor 8086: Intel Corporation

device 24c5: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller


device Serial bus controller (SMBus) [c|5|0]

vendor 8086: Intel Corporation

device 24c3: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller


device Mass storage controller (IDE interface) [1|1|8a]

vendor 8086: Intel Corporation

device 24ca: 82801DBM (ICH4-M) IDE Controller


device Bridge (ISA bridge) [6|1|0]

vendor 8086: Intel Corporation

device 24cc: 82801DBM (ICH4-M) LPC Interface Bridge


device Network controller (Ethernet controller) [2|0|0]

vendor 8086: Intel Corporation

device 103d: 82801DB PRO/100 VE (MOB) Ethernet Controller


device Network controller [2|80|0]

vendor 8086: Intel Corporation

device 1043: PRO/Wireless LAN 2100 3B Mini PCI Adapter


device Serial bus controller (FireWire (IEEE 1394), OHCI) [c|0|10]

vendor 1180: Ricoh Co Ltd

device 0552: R5C552 IEEE 1394 Controller


device Bridge (CardBus bridge) [6|7|0]

vendor 1180: Ricoh Co Ltd

device 0476: RL5c476 II


device Bridge (CardBus bridge) [6|7|0]

vendor 1180: Ricoh Co Ltd

device 0476: RL5c476 II


device Bridge (PCI bridge, Normal decode) [6|4|0]

vendor 8086: Intel Corporation

device 2448: 82801 Mobile PCI Bridge


device Serial bus controller (USB Controller, EHCI) [c|3|20]

vendor 8086: Intel Corporation

device 24cd: 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller


device Serial bus controller (USB Controller, UHCI) [c|3|0]

vendor 8086: Intel Corporation

device 24c7: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3


device Serial bus controller (USB Controller, UHCI) [c|3|0]

vendor 8086: Intel Corporation

device 24c4: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2


device Serial bus controller (USB Controller, UHCI) [c|3|0]

vendor 8086: Intel Corporation

device 24c2: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1


device Display controller (VGA compatible controller, VGA controller) [3|0|0]

vendor 1002: ATI Technologies Inc

device 4c59: Radeon Mobility M6 LY


device Bridge (PCI bridge, Normal decode) [6|4|0]

vendor 8086: Intel Corporation

device 3341: 82855PM Processor to AGP Controller


device Bridge (Host bridge) [6|0|0]

vendor 8086: Intel Corporation

device 3340: 82855PM Processor to I/O Controller

~>

 

Finally, some words about myself.

 

I am a computer programmer by degree, never officially worked as one, though. I started using Linux around 1999 (Debian Sid), then mainly used deb based distributions (but also tried and tested RedHat and SuSE regulary), and seated with Ubuntu in 2006.

Also an Apple user since 2002, when I got my first iMac, and ever since I own an Apple computer.

Perhaps good to note, that I do not use Windows at all since 2004.

 

So... I believe it will be an interesting journey with Haiku OS. :)

 

PS. Haiku does not have spellchecker... sorry in advance...


Haiku flavors, state of ported apps & more

Posted by: michaelvoliveira

Tagged in: Untagged 

michaelvoliveira

Today andrewzx1 sent a private message asking about the differences between Haiku GCC2 / GCC2 hybrid / GCC4. Instead reply there, I think that is much better write a bit about it here.

There's so much concern about what flavor is better for today use. While many still using Alpha2, many others have always moving ahead, changing your own Haiku with every change in the SVN tree.
Let's talk about it:

FLAVORS:

* GCC2 only -
For BeOS purists. Only runs old BeOS apps and gcc2 apps only, because your main goal is stay legacy compatible. It means that WebPositive is not for you. I doubt that somebody is using it actually. In general, Haiku GCC2 system based always seem very slow and unstable for me.

- the lib folders is in 
/boot/common/lib
/boot/system/lib


- all servers are GCC2 based (of course)

- You have only a GCC2 Compiler

- all BeOS apps will work (in thesis).

* GCC2 hybrid - the same as above. Since april/2009, is possible use Haiku with 2 compilers: gcc 2.95 (the BeOS one with improvements) and the latest (for abril/2009) gcc 4.3.3. Then, Haiku project turned your default releases into GCC2 hybrid. Haiku Alpha02 is a gcc2 hybrid. Why? Because there's apps and libs that are in constant development, which requires newer compilers.

The main differences are.

- - the lib folders is in
/boot/common/lib
/boot/system/lib


still, but now you will have GCC4 libraries (copy of system GCC2 ones) as well
/boot/common/lib/gcc4
/boot/system/lib/gcc4


- - Now you can use Webpositive, Qt, and more newer stuff

- - The main problem is: *There's no GCC4 media_server, media_server_addon and OpenGL renderer!* . See below.

* GCC4 hybrid - All the system is entire built with gcc 4.3.3 compiler. In theory, is faster and stable than GCC2 based ones. The default compiler is GCC4, but you can build and use GCC2 apps too.

- - the lib folders is in
/boot/common/lib
/boot/system/lib

- - The only GCC2 things is the compatibility libs in
/boot/common/lib/gcc2
/boot/system/lib/gcc2

- -
Here is the main difference: If I build an app that requires GCC4, and have sound and opengl, it will use GCC4 media_server, media_server_addon and OpenGL renderer.
*BUT* the same app will not run in a GCC2hybrid system, because, like I said, you don't have GCC4 servers there. It's sad, but apps in development will always need of newer compilers. The world move on, the BeOS was dead almost 10 years by now...

* GCC 4 only - The same of GCC 4 hybrid, but without GCC2 stuff. Used only for 64 bit and ARM port developers, AFAIK.

MY CHOICE:

Here in home, I use Win7, Haiku GCC4 hybrid, and Ubuntu with grub bootloader. Of course that I use Ubuntu only for download Haiku latest sources, and have a newer build every week. But why I use GCC4hybrid? Simple. I'm only a porter. The only thing that I can program is Visual Basic 5, and create some websites with HTML+Flash (remembering my BlueEyedOS days). Luckly, C/C++ apps are very easy to understand and do small adaptations in order to run in Haiku. Beyond that, I like to play football games, watch movies, hear Death Metal and study a lot to get a payjob.
The actual state of open source games are that 3D is essencial. 3D libs too. Our system don't have 3D stuff yet, which remains SDL 2D games. But, like I said, newer games requires newer compilers with newer libs. For example:

* Game A can be built with GCC2, linking with SDL gcc2 = all Haiku flavors.  
* Game B only  can be built with GCC4. So, linking with gcc2 libs will not work (or will, since that the lib in question don't use any server to work. eg: Libintl). Then, you'll need of GCC4 libs too. = Haiku GCC4, GCC4hybrid, and if the Game B don't use any lib that needs GCC4 servers then Haiku GCC2hybrid.

* Because of this, I recommend to you build by yourself and use a Haiku GCC4hybrid: You'll have a faster and stable system, with newer apps. And legacy BeOS apps, Haiku specific apps, all will work. There's no downside! *

I'M WORKING ON THAT:
Mainly, I doing ports for Haiku Ports. Join now too! Since games use a great number of libs, is neccessary port before many of them! Some times, review tickets there takes too much time, so slow down development.

For games, I and HaikuBot are hitting our heads to the wall with VCMI (Heroes III engine). Seems that client/server apps structure is not possible in Haiku yet. Freeciv is another too. Maybe takes some time.

Actually, I'm building glib, pango and SDL pango for MaxOS use in Wormux and Wesnoth port.

For now, that's it. More only when Haiku move forward.


TuneTracker Systems Donates Serial Driver

Posted by: dsuden

Tagged in: Untagged 

dsuden

TuneTracker Systems commissioned François Revol to create a driver capable of working with PCI serial extender cards.  The driver initially is designed to work with the widely-available Manhattan serial card.  We've donated it to the BeOS and Haiku community and it's available to anyone who wants to use it for any purpose.  The BeOS version is available now for download at Haikuware, and the Haiku version has been added to the svn.

For our own purposes, we'll be using the driver to allow TuneTracker to simultaneously interface with both touch screens and audio switchers, and immediately lets us put out two new "Control Center" system packages that support the combined functionality.  You can see the two new ones at the top of this page:

http://www.tunetrackersystems.com/commandcenter_packages.html

Update...

Hey, I'm editing this blog in Haiku with WebPositive!!  How cool is that?!!!


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.

The Largest BeOS/Haiku Software Repository