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."
..of all, why are they excluding printers? The fact that Linux printing is done is userspace is not an excuse. When I want to print or scan on a Linux machine, I don't want to hear that technicality. I just want it to work.
-- Subvert the dominant paradigm. Repeat as desired. http://ownlifeful.com/
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.
Maybe that's an X thing rather than a Linux thing but why is it so that in 2007 that feature looks broken? most times any flavor of win9x or NT correctly detects the screen and allows to choose res and refresh according to the monitor limits. I'm part of an association that builds PC from parts donated or lying in the streets, we use more or less crappy CRTs.
Editing the xorg.conf and tell bullshit about frequency ranges to get 1024x768 85Hz gets boring. Also PCs with improperly blanked screens aren't a rare sight. There are many computers labs full of them at the university (X terminals, diskless VIA C3 PC with 17" CRT), wasting a ridiculous amount of energy displaying black rather than being stand by. That should be urgently fixed.
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.
For example, Presonus Firebox and Firepod. Not just support but proper latency support I guess ( if I can so bold to demand them )
The USB keyboards ( like M-Audio keystations and others ).
It would be really sweet to work on audio in Linux for us CS geeks ( write scripts for audio effects rather than knobs and bars in weird custom interfaces ).
Linux is a kernel. Almost every other program running on a Linux-based system, be it GNU/Linux or uClinux, is an application running in user space, a part of memory separate from "kernel space". The drivers for printers are "filters" for an application called CUPS, the drivers for scanners are modules for an application called SANE, and the drivers for video cards are modules for an application called X.Org X11.
The people who made this request for proposals are interested in projects that need specific support from kernel space. The kernel side of scanning and printing is solved through libusb.
These wireless cards are integrated in so many laptops, and using ndiswrapper is still pretty crappy.
It's already been voiced in the thread, and is said very well in this post about the need for complete drivers instead of just drivers that work - but not fully.
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
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.
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).
What's it going to take to get people to see that technological ignorance is NOT OKAY? Any technology can cause damage if it's used by people who don't know how it works. I'm not saying people should know how to code, but you don't know the difference between a client and server, stay the fuck off the net until you're read your first "for dummies" book.
Here's how to get rid of botnets: license computer users. If you don't know enough about the technology to keep from harming the rest of society, you don't get to use it. If you can't keep your computer secure, you get to use snailmail, POTS and get your videos at Blockbuster.
Quit making excuses for people who don't want to learn how their computers work. They are the cause of may of the problems that people who want to use appropriately
When I got my first net access in 1988, the ISP owner interviewed me personally to make sure I'd use the resources responsibly. We should go back to that.
Don't make excuses for idiots. If Joe Sixpack doesn't want to learn how his computer works, take away his keyboard.
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.
The 300 of you are all kernel driver devs but most drivers don't belong in the kernel. So 10 of you can hang around and maybe a few years before 2038 the rest of you will be needed ;).
Meanwhile a fair number of us need:
1) RAID monitoring tools (bad to have a RAID system but no way to know if a drive has failed)
2) Temperature/fan/etc sensor monitoring.
3) did I hear one or two mentioning printer drivers?
4) Video drivers.
5) Sound drivers.
6) NIC drivers.
7) Virtualization hardware stuff.
The problem I see is for a fair number of these is you might actually have "drivers" (I use the term loosely) for say RHEL4, but not for RHEL3, Ubuntu or OpenSUSE, or whatever.
The main problem I suppose is hardware companies not wanting to cooperate in ways that the Linux people want.
But with 32 bit Windows, you can typically use the same drivers from Win2K onwards at least until that crap called Vista. Whereas with Linux, there's a fair chance that a kernel update would break something.
Incidentally, this hardware doesn't "just work" in Windows, either. The advantage Windows has is that the manufacturer writes the driver for Microsoft. Why can't the manufacturer write the driver for Linux, too - especially for USB, where there's a stable library and the usual complaints of no-stable-kernel-ABI don't apply?
Some companies are coming around, HP, Intel, AMD. But many are not and that's not the fault of Linux developers - especially if the companies keep their interfaces "super seekrit" requiring a massive reverse engineering effort just to get minimal functionality.
Oolite: Elite-like game. For Mac, Linux and Windows
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.
Peace sells, but who's buying?
Such a thing already exists, it's called The Linux Documentation Project.
gtkPod works great. Check it out.