Student OS Open-Source Project

Hello Haiku Community.

I am a part of a team of three that is in a graduate operating systems course at Portland State University (PSU). For our final (project) we decided to try (our best) to help an open-source OS.

We’ve read the initial guidelines about coding styles, getting write access, writing “Haiku-like code”, and helping out in general, but wanted to officially introduce ourselves and, if anyone had anything to add to the documentation online, lend our ear to some veterans.

On a side note: where would be a great place to learn about troubleshooting connections to the internet from Haiku? Some of our team can install the software, but in some cases no networks are sensed!

I hope we can continue to help your project, even after our final project. Thanks for allowing us to use your software – hopefully we can return the favor soon!

15 Likes

Hi, welcome to Haiku!

You can get help about your network connectivity issues here in the forum. Things to check:

  • Are you running Haiku in a virtual machine, or on real hardware?
  • Are the network cards visible in network preferences?
  • Do they need a firmware? if so, running “install-wifi-firmwares.sh” (possible from another machine, then you can copy the generated hpkg file to the machine with no internet access) may help.
  • Share the output of listdev so we can see what device you have, maybe there are known issues about it, or no driver at all yet.

As to what you can work on: have a look at the GSoC ideas list, and the bug tracker, or just run Haiku and you will probably quickly run into something that doesn’t work as expected. If you already have a clearer idea what you’d like to work on (kernel stuff? user interface? applications?), let us know, and we can see if we have matching problems.

2 Likes

On a side note: where would be a great place to learn about troubleshooting connections to the internet from Haiku? Some of our team can install the software, but in some cases no networks are sensed!

There’s a few things we’re going to need to know to figure this one out:

  • What network card?
  • WiFi or Ethernet?
  • VM or not?
  • the listdev output

Please get back ASAP so we can help you!

Plus, you may want to check if your sound card is working. If it’s not, also share listdev, and run 32-bit Haiku with OpenSound installed from HaikuDepot as a workaround.

Also, here’s a quick run-down on the differences between 32-bit Haiku and 64-bit Haiku:

  • 64-bit Haiku has a much more modern compiler (GCC 7), but lacks compatibility with BeOS applications. 32-bit Haiku ships an ancient compiler (GCC 2), but retains support for BeOS applications, and you can get a more up-to-date compiler from the repos.
  • Applications under 32-bit Haiku can only address 3GB of RAM each.
  • 32-bit Haiku cannot run a few programs available on HaikuDepot (LibreOffice comes to mind) actually it works.

That’s all I have to say.
Welcome to the community, and thank you for your time and help!

LibreOffice should work just fine on 32bit Haiku.

1 Like

Oh, really? Last I read, it couldn’t. I’ll update my post - thanks for letting me know!

And the 32bit version also includes a gcc7 compiler, which is used eg. to compile WebKit and WebPositive. It is accessigle as gcc-x86 or by using the setarch command.

It can also use more than 4GB of RAM. The limitation is that each process can use only about 3GB, but that is rarely a problem except for specific use cases (web browser with a few dozen tabs being the one you are most likely to hit).

1 Like

Thanks for the warm welcome, everyone!

Are you running Haiku in a virtual machine, or on real hardware?

I am running Haiku on a Samsung 128GB BAR (METAL) USB 3.0 Flash Drive (MUF-128BA/AM) with a 54 GB partition. The system I am using to load the USB on is a Dell Latitude E6430 64 Bit with SSD and an Intel(R) Core™ i5-3340M CPU @ 2.70GHz.

Are the network cards visible in network preferences?

I’m unsure of the term network cards mean. It only shows ethernet and the ipv4, ipv6, and various options underneath (DNS, etc.).

Do they need a firmware? if so, running “install-wifi-firmwares.sh” (possible from another machine, then you can copy the generated hpkg file to the machine with no internet access) may help.

I used an Ethernet cable to gain access to the internet directly through my router and install the firmware (there is a message at the end that says the firmware “will be installed”, but I ran that command…). I no longer can gain access to the internet through an Ethernet cable (perhaps my land lady using the internet now has some effect).

Share the output of listdev so we can see what device you have, maybe there are known issues about it, or no driver at all yet.
  1. (See above)
  2. I want Wifi, but I have only had a (one-time) success with Ethernet.
  3. (see above).

Thanks @PulkoMandy. I’ll head over to that section of the website. Our team primarily has C++/C/Java experience and would like to fit somewhere there. We also are wanting to make some aware that the BeBook needs updating – some CMDLine arguments for the terminal we are finding do not work.

Regards,

Daniel.

Post updated.

For anyone else trying to troubleshoot, here’s the models of the network cards:

Intel 82579LM Gigabit Network Connection

Intel Centrino Advanced-N 6205


It appears your wireless should work, according to this thread. However, that thread is old, and may be out of date.

I couldn’t find anything on your ethernet card (the Gigabit Network Connection thing above), but I reckon it should work. In my experience, Intel ethernet cards tend to work under Haiku.

Both ethernet and WiFi should work, though ethernet may need a nightly build instead of the beta release. @danc2, no extra firmware is needed for WiFi, the firmware for your chipset is included by default. If it doesn’t work, please post a syslog somewhere and I’ll take a look.

Good to know – hardware seems like a tougher roadblock than software.

Whats odd is I had the ability to sense wifi networks on one previous install – but that was not using the .ISO image on a CD (instead I used Etcher). The reason I didn’t like this was because Etcher made a very small partition of Haiku on my drive and said Haiku was full, so I went the CD route.

@waddlesplash Thanks – its Greek to me atm!
https://pastebin.com/mp7akAiY

It looks to me like WiFi should be working; the device came up and initialized successfully:

KERN: [net/iprowifi4965/0] ieee80211_node_vattach: init 2 auth 12 run 20 probe 2
KERN: [net/iprowifi4965/0] ieee80211_vap_attach: STA parent  flags 0x40042000 flags_ext 0x2
KERN: [net/iprowifi4965/0] ieee80211_alloc_node 0xffffffff816a0000<a4:4e:31:d4:3c:e8> in station table
KERN: [net/iprowifi4965/0] [a4:4e:31:d4:3c:e8] ieee80211_alloc_node: inact_reload 2

I don’t see any wlan_control messages which would indicate ioctls happening. What hrev is this? What do you see when you open network preferences and try to pick a WiFi network?

@waddlesplash
My network status:
https://drive.google.com/file/d/0BzuGItBU8WhMcmkxWXNnQy1QMGdBME5IVlZKU0ZIU2NEQTZR/view?usp=sharing

It should be the most recent build as I built it only last night and updated it this morning (software update application that is…if that is truly an update of Haiku).

Ah, it may be you have run into this bug. Try deleting the file mentioned in that ticket (I think it’s /system/settings/network/interfaces or something like that?) and see if it appears.

@waddlesplash I am up and running after deleting the duplicate interfaces file in the respective path! Hooray! Should I submit this bug somewhere as still active?

Time to get busy debugging :grin:

You can comment on the ticket, I suppose. One of these days we really should get around to fixing it… Or, actually, it might be an interesting first bug, if you want to get your hands dirty right away :slight_smile:

I will definitely do that.

Oh boy, I wouldn’t know where to start, but I’ll keep that in mind. It seems (deceivingly?) easy because the solution was so easy, but who knows!

I know there’s also the related #14626, which probably has a similar if not identical underlying cause, but I haven’t investigated far enough to say for sure.

Feel free to ask more questions along the way, either here, on the mailing lists, or on IRC!

1 Like

@waddlesplash

It is very unlikely that I found a solution to the bug, but I wanted to run a possible one by you.

After reading through parts of the code, namely in BringUpInterfaces, the lines in 772-775 in NetServer.cpp are the ones that seem to be the problem (as communicated by phoudoin in this ticket) should we not remove the if statement on line 772 to configure a missing device and add it to the list of devices in /dev/net? Would this have any ramifications?

It seems one would need to take into account that interfaces can be explicitly disabled in the settings file; so one would need to check the interface in fSettings to make sure it isn’t disabled within _ConfigureDevices. We’d also need to make sure we didn’t add devices twice in there. Otherwise, that seems to be the correct solution.

1 Like