Slashdot Log In
Know Any Hardware Needing Better Linux Support?
Posted by
kdawson
on Sun Oct 28, 2007 12:13 AM
from the problem-you-don't-see-every-day dept.
from the problem-you-don't-see-every-day dept.
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."
Related Stories
[+]
Linux Kernel Devs Offer Free Driver Development 348 comments
schwaang writes "Linux Kernel hacker Greg Kroah-Hartman, author of Linux Kernel in a Nutshell has posted an epic announcement on his blog. This could portend increased device compatibility for Linux users, higher-quality drivers, and fewer non-free binary blobs." From the announcement: "[T]he Linux kernel community is offering all companies free Linux driver development... All that is needed is some kind of specification that describes how your device works, or the email address of an engineer that is willing to answer questions every once in a while. If your company is worried about NDA issues surrounding your device's specifications, we have arranged a program... in order to properly assure that all needed NDA requirements are fulfilled. Now your developers will have more time to work on drivers for all of the other operating systems out there, and you can add 'supported on Linux' to your product's marketing material."
[+]
News: Update On Free Linux Driver Development 272 comments
Remember the offer Greg Kroah-Hartman made earlier this year, to get Linux drivers written for free for any company that wanted them? Now an anonymous reader points us to an article up on linuxworld with an update to this program. Greg K-H, who leads the development of several kernel subsystems including USB and PCI, admits that the January offer was a bit of "marketing hype" — but says it has brought companies and developers together anyway. Twelve companies have said "yes please," one driver is already in the kernel, and five more are in the pipeline.
[+]
Novell Makes Linux Driver Project a Reality 200 comments
apokryphos writes "Novell have relaunched the Linux Driver Project by dedicating well-known kernel developer Greg KH to work on the project full-time. Greg KH writes:
'My employer, Novell, has modified my position to now allow me to work full time on this project. Namely getting more new Linux kernel drivers written, for free, for any company that so desires. And to help manage all of the developers and project managers who want to help out...They really care about helping make Linux support as many devices as possible, with fully open-source drivers.'"
Firehose:Know Any Hardware Needing Better Linux Support? by Anonymous Coward
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Linux support? (Score:5, Funny)
Pretty much any Windows PC, I'd say.
Ha ha (Score:5, Insightful)
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.
Re:Ha ha (Score:5, Insightful)
The kernel already supports direct access to video cards with DRI. It's up to the X.org / X11 folks to get the "language" the card speaks right and talk to it through DRI.
These guys might be able to write a kernel in their sleep, but completely unfamiliar with the layout, architecture, nuances, and conventions used in the X system.
Parent
Yes! Get power management to work! (Score:5, Insightful)
Having the ability to quickly suspend my machine and bring it up again is extremely high on the list of priorities.
Audio and MIDI hardware (Score:4, Interesting)
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 ).
Broadcom wireless cards (Score:5, Insightful)
Full Support (Score:5, Insightful)
Wireless (Score:5, Interesting)
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.
I have a suggestion... (Score:5, Insightful)
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.
Stabilize the API (Score:5, Insightful)
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.
Re:Stabilize the API (Score:5, Interesting)
I seem to recall that one of the main kernel developers said they accept any drivers, and had a driver in the kernel with only a single known user. So it seems to me that they would accept your driver, since you seem to have many users.
If you get your driver in the kernel then I assume the developers who change the interfaces would update your code automatically.
Parent
Kernel vs. Userspace (Score:5, Insightful)
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).
You are not a troll, just clueless (Score:5, Insightful)
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.
Parent
OK you guys can pack up now ;) (Score:5, Insightful)
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.
Re:First (Score:5, Informative)
Parent
Re:First (Score:5, Insightful)
Why aren't the LDP people and the SANE people working together? A device is a device no matter what the interface. The end user doesn't really care how "device X" hooks up, or how the driver is loaded. They just want it to work.
Parent
Re:First (Score:4, Insightful)
I haven't been really impressed with the ALSA project's driver support, either. But it's probably not for lack of interested developers.
Parent
User space defined (Score:5, Informative)
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 [wikipedia.org], a part of memory separate from "kernel space". The drivers for printers are "filters" for an application called CUPS [wikipedia.org], the drivers for scanners are modules for an application called SANE [wikipedia.org], and the drivers for video cards are modules for an application called X.Org X11 [wikipedia.org].
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.
Parent
Re:User space defined (Score:5, Informative)
http://hplip.sourceforge.net/ [sourceforge.net]
What more could you ask for?
Parent
Re:First (Score:5, Insightful)
Parent
Re:First (Score:5, Funny)
Parent
Re:First (Score:5, Funny)
Parent
Re:First (Score:5, Informative)
No, it makes perfect sense -- it's just confusing because of an odd use of terminology (at least as compared to Windows).
When people complain about printer drivers under Linux, they're not talking about kernel modules -- what most of us would think of as "drivers" in the traditional sense. Linux already has USB/parallel port/whatever kernel modules that handle everything related to the communication with the device. The complaint is in the "device-specific-properties" end; since the USB/parallel port/whatever kernel modules are generic, handling only the lowest layers of how communications on the bus takes place, they don't know anything about the type of data the device expects.
To make a useful-but-not-quite-right analogy, your network interface card knows about how to send 1s and 0s over the net; but it doesn't know anything about what kind of sequences of 1s and 0s will make sense to anything on the other end. Instead, you've got software layers above it that are responsible for taking a bunch of outgoing data and cutting it up into an ordered sequence of chunks wrapped in headers to allow re-assembly (the TCP part), then wrapping them in shipping headers so they'll reach their destination (the IP part), before sending them to the NIC. But even those software layers don't know that the device on the other end will be passing this data to a web browser; so the chunk of data being sent better look like sensible HTML. That's taken care of by other layers of software in user space.
In Linux, kernel modules handle the communication with the device; but they don't know (and don't care) what form the device is expecting the data to be in. For printers, that's handled by a separate "filter" layer that comes before the kernel modules do their work. The filter layer is typically some sort of translation program that runs in userspace, takes a stream of data as input (from a file, from another program, or whatever), and encodes it into some other form and/or breaks it into chunks and/or wraps it in headers. The "encoding into some other form" would include putting in the stuff that exploits specific printer features. It's these filters which are sometimes missing or feature-incomplete in Linux, and are what people refer to when they talk about printer drivers.
Parent
Re:Webcam Drivers (Score:5, Insightful)
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.
Parent
Re:Only the best! (Score:5, Informative)
- 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.
Parent