logoalt Hacker News

laidoffamazontoday at 3:23 AM1 replyview on HN

Wifi drivers, display drivers, maybe graphics drivers...


Replies

IcePictoday at 11:08 AM

The problem with missing drivers is not "typing code fast enough", it is knowing that you need to poke 5 into [base-address + $0562] within 5 milliseconds of receiving an IRQ or something stupid like that which good docs would tell you why and how, but most/many vendors will not hand out docs on how to program their chips at that level. They will have docs on how to paint rectangles on an existing surface using the gfx card, but not on how to actually start it at poweron or something along those lines. If you can't make it start painting a screen and waking up the monitor at boot, it is of very little use that you can paint rectangles in the dark.

So even if you can divine that a binary windows driver sometimes writes a 5 into that register at certain times, you will have a far harder time figuring out how and when it is needed to actually do that, and the source you get will be super hard for anyone else to understand if its all magic numbers getting written into "random" locations, compared to say, "wificard.driver.radio_enable = ACTIVATE_RADIO;" even if it compiles into writing 5 to offset $0562. Such reverse-engineered sources are super hard to keep working in the long run, when someone rewrites how and when IRQs are delivered to devices or whatever major is happening in the kernels so this leads to drivers no longer working even if they did have a short period of use.