Know Any Hardware Needing Better Linux Support?
Dev Null writes "The Linux device driver project has hit something of a snag: they have lots of developers, but few devices to work on, so they're looking for input concerning which devices aren't well-supported in Linux. If any of you know of devices that could use better support, you can help out by listing them on the project's wiki."
Know Any Hardware Needing Better Linux Support?
Pretty much any Windows PC, I'd say.
The higher the technology, the sharper that two-edged sword.
No, I mean drivers that support 3d acceleration, and docking and undocking, and xrandr, and xv, and suspend to RAM, and power management, all without crashing. I've been waiting for years.
Powermanagement for laptops seems to have consistently been inconsistent. As someone who uses laptops regularlz, having basic functions like hibernation and going into sleep mode causing complete system lockups on a fairly regular basis is a pretty big show-stopper. While I'd love to see the range of supported hardware expanded, I would really love if existing things like ACPI and various suspend technologies worked better and more consistently. It seems every few releases it works for a while then it completely breaks again. I am about to downgrade a laptop from Ubuntu Gutsy back to Feisty for this very reason.
Having the ability to quickly suspend my machine and bring it up again is extremely high on the list of priorities.
Live today, because you never know what tomorrow brings
These wireless cards are integrated in so many laptops, and using ndiswrapper is still pretty crappy.
Wireless.
The current driver space for wireless components in Linux is an odd hodge-podge of ndiswrapper, madwifi (two versions), beta drivers external to the mainline kernel, minimal built-in support and blind luck. Cleaning this up should keep a good number of people very busy.
Why don't they go out to Staples, close their eyes, pick up a box in the wireless networking shelf, with preference to the 802.11n boxes and pick one and start writing. What about USB wifi cards? Those still are pretty well hit and miss. What about Broadcom wifi chips, you know the ones shipped with half of HP systems. Start working on a free driver or firmware or whatever is needed. Then, when all the wifi chips are supported and I don't have to worry about my new laptop not being able to get on the internet because HP locked the mini-pci slot to only one card, then we can take a walk down to the Video Card isle. Until you are done with Wifi, we will hold off on the hard stuff.
:)
Don't get me wrong, This is a great service. Just pick something that doesn't have X, be it firmware, a driver stack, whatever it may be and just start coding. I am serious, pick a random box at some store and start working. Look at the Sunday flyer, what is being put on sale. Find one of those devices and if it does not have linux support, buy it, start working on it.
Why do you need to wait around for manufacturers to give you devices? Find what people can and will be buying and start supporting that first, the stuff that won't come out for a year doesn't matter if I can't go in a buy a 802.11n card now and get it to work. And if it doesn't support WPA2, I don't want to hear it, go back to your desk and do it over. I want to see the work this time. No doing it in your head.
NDIS is not an option, it is not debuggable or portable across architectures. I have a few PPC machines I would like to use a 802.11n USB network card with.
How about any Broadcom wifi card, with firmware so the driver can be stabilized better than their engineers can.
Just because you don't like how hard it will be shouldn't keep you from starting on it.
One Token Ring to Rule them All, One Search Engine to Find Them, One WAN to bring them in, and TCP/IP Bind them...
A very good use of these folks' time would be to reach some milestones on the Linux driver API so that the dang thing will stop changing all the time. A fundamental assumption of Linux is that constantly changing interfaces is no problem because the legions of faceless programmers will gladly rewrite everything each time around. True (but annoying) for generic hardware that everyone cares about, but not at all true for oddball stuff.
... by a tiny group of people ... every few months.
I'm maintaining a driver for a bus adapter interface (for connecting old minicomputer peripherals to PCs) and it's a much bigger time sink than it needs to be. The source code is on my web site, but the users are, well, USERS, so when a new kernel release breaks it they just chuck it back at me to fix. So much for open source taking care of itself by magic. I won't bother submitting this driver to the free driver project because it's kind of useless without the $3000 piece of hardware it works with (and that's not counting the crates full of minicomputer hardware needed for testing). I need mine and I don't picture these folks buying their own no matter how much they care.
Anyway I understand why Linus needs the freedom to get better ideas in the future and doesn't want to be weighed down with tons of backwards-compatibility stuff, but I still think it would make Linux more useful to split the difference and occasionally define an interface (doesn't have to be the default as long as you can ask for it somehow) which is guaranteed to work for some number of years. Then flush it at the end but at least some large amount of rarely-used stuff worked OK in the mean time, w/o having to be rewritten
OK so I'm still stinging from udev. Sure, it's cute. But it required driver hacking (yet again) *and* broke my user-mode application by changing some of the device names. That would be OK back in kernel 0.x days but this is way too late in Linux history to start breaking applications, and after 16-17 years it's really time for the external interface to the kernel to start quieting down too.
And that, in a nutshell, is why Linux will never be mainstream.
You see, nobody *cares*. They don't understand the first thing about kernel space and user space. They've never *heard* of it, don't know what it is, and couldn't give a rat's ass about some fancy "ring zero".
This seems to come as a surprise to many Linux advocates, but they just want their recently purchased device to work. They want that shiny new game they just picked up at Best Buy to run. They want it to play those online streaming movies from Netflix! If it doesn't, then Linux is useless to them, and they'll keep using Windows. You have to solve people's *actual problems*, not make their eyes glaze over with details they don't care about.
If Toyota was selling cars that worked, but the Honda cars wouldn't start and wouldn't run on any of the fuels sold by the corner gas station, it wouldn't matter at all if the Honda engineers could talk a good line about the skillset needed to design the pistons being different than the skillset needed to design the brake rotors. Nobody would want the cars! That's the position Linux is in now in the desktop, and until this attitude disappears, it always will be in that position.
You want Joe Sixpack to adopt Linux? Make it work with his hardware and his software. Make it seamless, so when he goes to Netflix the online play "just works". No excuses, no "but...", or "you don't understand that...", or "netflix needs to...". Nobody *cares*. Just make the damn thing work! If that is too hard to do, then Linux will never compete with Windows. It has to work for the things real people really do, not just for the l33t hackers who live to type arcane commands into bash prompts.
Buy a HP printer then. Full printing, scanning, faxing and network support which HP makes GPLed.
http://hplip.sourceforge.net/
What more could you ask for?
I still think that the perspective should be just a LITTLE bit more oriented towards the user. The response of "it's not the kernel, it's the userspace, so go whine to someone else" is akin to the "You are in a hot-air balloon, Sir" joke - true but not useful.
I'm a user. I have a printer/GPU/whatever. It doesn't work on my Linux-running machine. I don't know or care whether it's a userspace or kernel issue. Heck, I don't even know the difference between the two. Hell, my only association with the word "kernel" is "the part of the nut that you eat", and all the word "userspace" reminds me of that I really should try and get a bigger cubicle. I just want my friggin' printer to work! And as far as I know, either Linux (and to me Linux refers to the WHOLE GNU/Linux suit) either DOES it or it DOESN'T.
If there are too many kernel programmers for the kernel problems to solve, then maybe more should try to specialize in userspace drivers, or whatever happens to be the problem that currently needs to be solved (and PLEASE don't get started about how "they don't get paid so don't tell them what to do", because all you do is reinforce MS's primary argument to "why Linux isn't as good as Windoze").
I like Linux as much as the next geek, but unlike the Fundamentalist Linuxist (who will undoubtedly mod me down as Troll for my insolent heresy towards the Sanctity of the Linux Kernel) I keep my eyes open about issues from the perspective of those who need those issues fixed, not in the Ivory Tower of Theoretical Separation of Kernel and User Space on which far too many people are sitting).
Jesus fucking Christ, people. If you're willing to pony up, I'm willing to sell you this account.
The seperation between kernelspace and userland is NOT theoretical. This is slashdot and it would be like saying that the people who worked on your cars powertrain should fix the issues with the electrical subsystem. It then offcourse becomes obvious why this is idiotic, people who know engines don't need to know anything about electricity, yes both are "power" but at the same time totally different.
The kernels task is to provide the base system that other software can then use to run on. You really don't want to tie to much stuff into the kernel, and if possible migrate stuff OUT of it and keep only the bare fundementals inside. Why? Windows is an excellent reason why. If the kernel crashes your are fucked, if a userspace program crashes, then you just restart that program while the kernel goes on.
Take printers, the kernel does the USB protocol, but CUPS talks to the printer. The kernel handles the AGP bus, but is X11 that does the video work. Therefore the drivers for your printer and video card need to be part of these later projects. Offcourse it gets confusing with video cards because they ALSO need to be part of the kernel.
Say you call up the electricity company to complain your PC don't work, they are very nice and send an engineer over. He will check the outlet, confirm it supplies the proper current and then leave. Your PC still don't work? Not his problem, not his job and most important, he may very well not even know where to start. Call Dell instead.
Cups is a totally different project with its own team of people and own goals and ambition. To say that a kernel developer should just switch to that project instead is starting to smell a lot like extreme arrogance from your part. Who are you to say what an other person should do?
People often start speaking of elitism, but what do you call it when a person like you expects everyone else to jump at their demands?
The strength of Linux comes from its volunteers, who work hard on the stuff they are passionate about. Sadly there are also weaknesses in this which according to the reactions so far seem to be, don't buy Lexmark. I can live with that, if you can't. Well there is a small company called Microsoft operating out of Redmond. YOu might want to give them a call, I am sure they will JUMP at the change to develop drivers specifically for your hardware needs.
Oh but wait. MS doesn't do that does it. Does MS provide code to run old software that don't wanna run on their latests OS? No. Does it provide drivers for hardware that has problems? No.
Odd, that you are so undemanding of a product you pay for, but think volunteers should be at your beg and call.
Next time something don't work, blame the company you paid for it.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
Devices that use userspace USB drivers:
- Printers (CUPS)
- Scanners (SANE)
- Cameras (gPhoto2)
Devices that use kernelspace USB drivers:
- USB Mass storage (card readers/pendrives/media players/etc)
- USB Networking
- USB Bluetooth
- USB to serial/parallel converters
- USB HID Input
- USB Audio
- USB Video Capture
That USB devices are a userspace issue is a lie. They go both ways.
Besides, Trance Vibrator support is already in... the kernel.