Slashdot Log In
Know Any Hardware Needing Better Linux Support?
Posted by
kdawson
on Sat Oct 27, 2007 11:13 PM
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.'"
Submission: 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.
First (Score:3, Insightful)
Re:First (Score:5, Informative)
Parent
Re:First (Score:4, Insightful)
Joe User wants (the what) simple booklet printing, for example.
The fact that Person A hacks the kernel, whereas Person B hacks CUPS (the why) amounts to minutia.
Parent
Re:First (Score:4, Insightful)
Parent
Re:First (Score:4, Interesting)
Well, until we can do everything a computer can do with Linux, it's not going to be as widespread as it should be.
I'll have to explore this term, "userspace" because it's not familiar to me (I'm just a Ubuntu Studio user, and a fairly new one at that. I'm not a Linux expert like many of you here), but whatever this "userspace" is, it sounds like it's something that someone in the Linux development community ought to handle.
Maybe the difference between a successful OS and one that's not so successful is how well it integrates the "userspace" experience.
But I'm just guessing.
And before you tell me to RTFA, It's only 6:30am and I'm waiting for the coffee water to heat up. I'm not R'ing any F'ing A until I've had one or two cups, thank you very much.
Parent
Re:First (Score:4, Informative)
From an end user's perspective, "userspace" is what you see, the programs you start up and interact with. "kernelspace" is something you only encounter when the system crashes or a floppy drive is stuck or a line printer on fire etc.
From a technological point of view, Unix-like operating systems have a clear separation between "kernelspace" and "userspace". The kernel is a program that always runs and "does everything". It is supposed to only do the low-level tasks, close to hardware, such as scheduling (which userspace program is allowed to run next) and I/O (send bits to a parallel port printer and wait x microseconds).
Between kernel and userspace is a software library called the system library; for Unix-like OSes usually written in C, libc. This contains functions like write() and read() that are implemented by sending commands to the kernel to do something via "system calls". Whether those commands are actually executed then depends on the permissions model, because programs using the system library are all run as if executed by a "user".
This brings us to userspace: an end-user wanting to print something in the gimp program presses a button, the gimp program is running under the privileges of that end user, the userspace programmers who wrote gimp tied the "print button press" action to a gimp function which at one point does a libc call write(printer, data), the C library function write() takes the data and <start handwaving> invokes the kernel's SYS_write() call (I think) with permissions from that end user and a pointer to the data in user memory and a pointer to the printer device special file (everything looks like a file in Unix) and then the gimp program will just sleep and halt and be activated again when the kernel decides to give it another slice of CPU time (for example, after the kernel has done the actual printing, or at least called the kernel functions to get the actual what-have-you brand printer driver functions to do their voodoo with the user-presented data).</end vague handwaving>
But as you can probably tell I'm not a real system programmer so I'll gladly let someone else correct me from here :-)
Parent
Re:First (Score:4, Insightful)
This hasn't been set up for Joe User.
It's been set up so that manufacturers can easily have their hardware supported.
Joe gets the benefit later, when (s)he buys supported hardware.
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
Re:First (Score:4, Insightful)
What a pompous tagline...."many developers, few challenges"
TFA says it really clearly. They have 300 developers lined up and 6 devices submitted for driver development.
then a disclaimer that they can't be bothered to work on the MAJOR printer driver issue (*cough--Lexmark--cough*) because printing takes place "in userspace"?
These are KERNEL driver developers. A completely different skillset. They say that very clearly on the wiki, and even provide a link to the printer driver project for the Google-challenged.
Parent
Re:First (Score:5, Funny)
Parent
Re:First (Score:5, Funny)
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:4, Insightful)
If you can't find one with the quality and price that you're looking for you are doing something seriously wrong.
Parent
Re:User space defined (Score:4, Informative)
*shameless plug* I happen to have created such a wiki, though it isn't yet as active as I would like: http://www.hardware-wiki.com/ [hardware-wiki.com]
Parent
LDP (Score:4, Informative)
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: (Score:3, Insightful)
Writing code for a kernel takes a completely different skill set than required for writing printer drivers, etc.
Notably, libusb supports reading and writing arbitrary data to arbitrary USB devices. If libusb can see it, no [i]kernel[/i] driver is needed, that would be duplicated (wasted) time, effort, and resources.
Re:First (Score:4, Insightful)
I'm curious. Where are you when all the stories saying linux is better/faster/more stable than windows get posted? Or when people bitch about DRM preventing them from playing mp3s on linux? I would think that when people are talking about LINUX THE KERNEL doing things that LINUX THE KERNEL clearly can't do, you'd want to be right there fighting the good fight. On the other hand LINUX THE KERNEL is nothing compared to even the shittiest versions of Windows or even DOS. I mean a particular arrangement of bits on a hard drive that is entirely unable to load itself into memory, or even create a filesystem in the first place, is entirely useless and valueless.
Or do you only turn into a pedantic snobbish asshat when it's convenient to dodge criticism of your preciousssss.... preciousssss...
Yes, this is off topic and perhaps a bit of flame bait, but the entire loser crowd who jumps in and declares that linux is just a kernel whenever anyone says anything slightly critical of "linux", is tired and pathetic.
Parent
Re: (Score:3, Insightful)
Re:First (Score:4, Insightful)
If the brush is burning and the official fire departments aren't working on it, a New York City firefighter would be a damn good backup. I think the people here are overstating the whole kernel vs. userspace dichotomy; we're not talking about a plumber trying to rewire an electrical system. The skillsets aren't that far away from each other.
Parent
Re: (Score:3, Insightful)
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
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
310 developers? (Score:3, Insightful)
DPMS support (Score:3, Interesting)
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.
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.
Re:Yes! Get power management to work! (Score:4, Funny)
Parent
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)
Webcams, Wifi cards and clean up messes (Score:3, Informative)
What's dreadfully bad about webcams is that even with the same model number/name you can end up with a completely different bridge or sensor chip inside either due to a revision change or locality, really, it's pot luck at best.
As for wifi cards, it's really more of a situation where a few of the current drivers are incredibly fickle - perhaps it's the nature of the beast? I've got a RT2400 type card which if it doesn't get its setup parameters within ~2 seconds of the module being loaded it utterly refuses to accept anything else until a complete restart. Things like that make me feel like I'm playing in Windows again.
Full Support (Score:5, Insightful)
PC532 (Score:3, Funny)
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
Intel Intergrated Graphics (Score:3, Interesting)
It would be nice to put all those old boxes to use.
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: (Score:3, Informative)
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
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
This is why the human race deserves to be extinct (Score:4, Interesting)
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.
Parent
Re:Webcam Drivers (Score:4, Insightful)
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.
Parent
Re:iPods? (Score:4, Informative)
Parent