genodelabs / genode

Genode OS Framework
https://genode.org/
Other
1.08k stars 254 forks source link

AR8131 Gigabit Ethernet support #4487

Closed Fhiss closed 2 years ago

Fhiss commented 2 years ago

Could you add Qualcomm Atheros AR8131 Gigabit Ethernet support?

nfeske commented 2 years ago

Genode's network drivers are based on the drivers of the iPXE boot loader (https://ipxe.org/). Even though the iPXE code contains various references to Atheros AR9* devices, your device is apparently not covered. Hence, I see no straight-forward way to support the device with the current version Genode.

If you chose to invest your time into further exploration/experimentation/porting, you may consider trying to port the Linux-based network driver, following the footsteps of the drivers found at repos/pc/. If you don't, I'd appreciate you closing this issue because I see none of the core Genode developers picking it up.

Fhiss commented 2 years ago

I'm looking at this more optimistic. One of the milestones for May will be updated drivers for PC hardware (Wi-Fi, Intel framebuffer, USB) and perhaps one of the professionals will help me and other users. Of course, I'm writing about general-purpose Sculpt OS, which can be downloaded from your website.

An even better option would be to ask you to teach me how to add this driver to myself so that I can take on this routine work in the future, but such a request would probably take up too much valuable time of the developer who agreed to it.

nfeske commented 2 years ago

One of the milestones for May will be updated drivers for PC hardware [...]

The NIC driver is not covered by this line of work though. There is currently no development activity in this area.

An even better option would be to ask you to teach me [...]

That is very cool to read! Thanks for your willingness to invest your own time.

I don't want to raise false expectations regarding the amount of mentoring we are able to provide.

Do you already have a development setup where you can boot Genode on your test hardware separate from your (Linux-based) development machine? That is, booting Genode on your test hardware via TFTP, and getting hold of Genode's log messages over serial or AMT (if supported by your test hardware). If not, setting up such a workflow would be a crucial first step. The following two articles may hopefully serve you as a guide.

Fhiss commented 2 years ago

I have a desktop on which I want to install Genode and use it as the only operating system. Now I use Linux on it to perform everyday tasks, but your operating system is very interesting. I did it, but I can't download any packages, and the basic configuration of Sculpt OS doesn't even seem to include a text editor.

By the way, I created the following query: https://github.com/ipxe/ipxe/issues/637

nfeske commented 2 years ago

The usual practice for developing and debugging device drivers is the use of two machines, one is the test target and one is the development machine. For working on the NIC driver for the network card of your desktop PC, the desktop PC would be the test target and you'd need another computer as development machine. For each test run, the development machine remotely reboots the test target, the test target fetches the Genode OS image via TFTP (or HTTP) over a LAN connection from the development machine, and sends log output to the development machine.

NiKiZe commented 2 years ago

Please do not tell people to port Linux kernel drivers to iPXE, that is a bad way to get drivers into iPXE (or rather a certain way to not get them into iPXE)

nfeske commented 2 years ago

Please do not tell people [...]

I'm afraid this is a misunderstanding. In my initial comment (https://github.com/genodelabs/genode/issues/4487#issuecomment-1111024524) I did not mean to suggest any change to iPXE. Noticing that the device is not supported by iPXE, I contemplated the idea of porting the Linux driver to Genode - as an alternative to our existing iPXE-based driver component. There exists a growing set of Genode device drivers ported from Linux at repos/pc/ (https://github.com/genodelabs/genode/tree/master/repos/pc) such as Intel wireless, Intel graphics, USB. Going forward, it may be sensible to base Genode's NIC drivers on Linux, too.

Seeing how my comment was prone to misinterpretation, I'm sorry for not having been clear enough.

nfeske commented 2 years ago

I'm closing this issue due to inactivity.