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/
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.
Hmm, that's a lot. However, how many of them actually will end up doing real work when real work comes? But still, very impressive number.
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.
Also, there are plenty of cards that work, but still have problems. My Audigy NX operates at the wrong frequency when playing UT2004. Everything sounds higher pitched than it should.
Also, sound cards that support Dolby Digital Live hardware encoding. For that matter, it'd be nice if AC3 encoding worked well with alsa. Pretty gimpy last I tried it.
Creative as been promising binary with ALSA support for years, so far they have unsupported beta for 64-bit systems (?) that nobody can compile. ALSA project has no driver for these sound cards either.
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?
Since all the problems listed have been related to userspace... and if the kernel writers don't have enough to work with... can we not encourage some of the kernel writers to move to userspace coding?
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.
By your god-awful definition, Linux has perfect open-source support for nVidia graphics cards because the kernelspace shim exposes the memory to userspace, which is all the kernel needs to do. Well, for me and the 99.9% of the rest of the world that don't play word games, drivers are about functionality. "Does it have a Linux driver?" == "Is there a system, running the Linux kernel, where this device works as expected?" If you can't get results then it doesn't have support in any meaningful way I can think of.
Live today, because you never know what tomorrow brings
PROTIP: Buy hardware that works with your operating system. There are PLENTY of printers that work great with Linux.
If you can't find one with the quality and price that you're looking for you are doing something seriously wrong.
The Farewell Tour II
It's user-space support and integration. While I've got a CS degree and can get things going myself, most people don't and can't. Telling them they need to upgrade some part of the kernel and do a recompile isn't going to do much for people. Much more work needs to be done along Ubuntu's philosophy of "it should just work". If it's easier to get working in windows, people will just use windows. I'm very happy to see that more and more hardware is becoming easier to get going under linux than windows, like my HP 3055 all-in-one unit.
If kernel developers have time they want to commit, but can't find anything to do, my humble suggestion is:
- Pulling in other drivers into the main kernel tree
- Testing, Optimisation & QA
- Consider working on user-land drivers such as USB devices.
As for the overall goal of supporting users, I think cutting down the time between software/driver release and packaging is critical. This is of course a distro issue, and a very good reason as to why too many distributions is a bad idea. Co-operation on common goals and focusing of efforts is one weakness I've found in FOSS, at the same time it's also a strength, but it's something to be mindful of in a less regimented development process.
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).
OK, we get it, kernel stuff, userland stuff. Instead of asking the community for random hardware items, how about you guys list the hardware you want to work on, then see if there is any support for that from the users. At this point, I have zero, none, nada, zilch, nyet, non, nein, nej NOTHING, no idea what "hardware" these kernel guys want to work on or are skilled to work on. People here are giving you lists, you keep shooting them down saying userland. So WHAT isn't userland that they will work on? Let's stop this ring around the rosy action. Throw us a bone, make with the clues.
Personally, I have had nothing but grief with the alleged USB support and printing and getting a camera to be able to upload pics and so on, even though this is allegedly already fixed and working. You can't prove it by me, I am three printers into buying one after first "checking on the web" to make sure "it is supported". Three different machines, three printers, only one worked, it physically broke, since then, no printing. My USB is there, the machine reads the controllers out fine, doesn't see anything, all new cables *twice* to eliminate that. Oh, but that doesn't count because it is "userland". So, OK, what is in kernel space I should be concerned with that doesn't work? I get sounds and am staring at a screen, so obviously that works. What else, the ACME kernel ring 0 smellovision module, or what? Give us a list of their specialties instead of forcing everyone to be psychic to answer the question.
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.
AMATEURTIP: good luck finding a list of "hardware that works with your operating system" that is accurate, up to date, and trustworthy. Or even one of those things for some classes of hardware. I'm talking to you, "wireless networking."
If someone would compile such a list, by actually testing the hardware in question instead of relying on forum posts of five-minute experts claiming, "It works for me, right out of the box," that in and of itself would be a huge service to the community. And maybe some revision information, so we know not to buy the exact model number that has an updated, incompatible firmware or worse, different actual specs.
Can you be Even More Awesome?!
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.
LAPTOPS
Things like ACPI, internal modems, infrared ports and card readers should work just like we see in the operating system with the four-colour-flag.
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
CAM drivers suffer from exactly the same problem (a multitude of alternative frameworks and incompatible drivers exist). Lesser-used devices (PCI-to-VME bus converters, for example) are beyond fragmented - drivers are written uniquely to a card and usually without reference to anything else out there, producing a completely unique API for every single implementation. It's a total disaster of train-wreck proportions in some cases. If the kernel developers are getting idle, trust me - it's not from a lack of projects that need to be done, although it may be from a lack of people smacking them upside the head with things to do.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Considered ditching the printer for something that works? yes, it would be nice to not have to do so, but given that the cost of the printer is far less than a Windows license... next time you upgrade O/S, get a new printer instead of paying for Windows?
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
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
I suppose there could be some minor difference between the version that causes yours to break, but my Radeon 9200 SE works just fine. After tweaking the xorg.conf settings I even got the open source ATI driver in xorg to play nice with compositing. Mind you, I rarely use it for anything really fancy, so I guess there could be issues I'm not aware off, and as always, that it works for me doesn't preclude it from being absolutely broken for you. Of course, in any case the problem is with ATI and not the DRI developers.
Anyway, this is about as big a hint as companies could get that: There's people who will work for free if you just let them do so!. Seriously, cut the crap already, you're not going to manage going toe to toe with Intel by keeping the "intellectual property" in your crappy wireless drivers secret. In case you are obliged by some NDA to not give them the specs, well then GOOD FUCKING JOB. You've managed to put yourself in a situation where you have to turn down people willing to work for free. I'm sure this helps you improve your efficiency and that your stock holders are overjoyed about it. Really , good job. Maybe for your next product line you could start to require activation codes and on-line registration. You know, just to create even more goodwill amongst your consumers...
That's like going into a room of nuclear physicists and berating them for not finding a cure for cancer yet, because nobody *cares* about the difference between physics and biology.
It's the nature of the beast. Even some motherboard vendors swap chipsets without changing the model number of the board. I've had to take a jeweler's loupe to a motherboard, very carefully scrape off the obscuring hot glue, read the chip numbers off, and then hand it to my colleage with better photography tools to prove the difference. (Changing it was a violation of a particular contract with that vendor, since the chipsets did not use the same drivers and forced a painful hand-written kernel upgrade.)
It's not just enough that they write a driver for Linux, as they do for windows. Sure, that's nice, and some have. But in practice, it's not enough to provide a binary-only driver as is commonly done for windows.
/usr/src/linux/include and expected a symlink, but witness how well even that works on many modern systems).
Linux often breaks compatibility for old drivers. Kernel APIs change and Linux has a very poor history of maintaining backwards compatibility for binary drivers. Companies that have tried to go down this path have quickly found they need to release MANY different version of the driver for different kernels, or support only a narrow range of kernels, such as a couple versions of a particular distro like RHEL.
Even when the driver is released as source, if it isn't GPL, or if it contains a non-GPL binary blob, or it doesn't follow practices the kernel devs use, or the code isn't up to other kernel standards including aesthetic considerations, it won't ever get integrated into the kernel. And really, the only way for a driver to "just work" in all common linux systems is for it to be integrated into the kernel. Take, for example, the vmware and nvidia kernel modules, which have an installer that automatically tries to search among many precompiled copies for one that matches the running kernel, and then falls back to trying to run gcc to compile the source. Even that is error prone, as gcc may not be installed, or the offical path to the kernel headers may change of the years (once scrips had
PJRC: Electronic Projects, 8051 Microcontroller Tools
Better than suggesting, I'd like to pay a bounty for some drivers I need. Anywhere I can do that?
You should consider yourself part of the problem, not part of the solution. Try coming up with solutions instead of excuses.
In the words of an old (very successful and now very rich) boss... "Just make it happen."
-- I'm old enough to have lived through six different meanings of the word "hacker."
"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."
You're an elitist retard.
My Dad just wants to order a CD and it's cheaper on Amazon.co.uk than it is in Tesco - why the fuck should he care about client, server or anything else? All he needs to know is that Internet Explorer allows him to get to a place where he can safely buy a CD for a certain price. All the rest of it is just detail, in the same way that I don't need to understand Tesco's supply chain to be able to effectvely purchase from them. Computers are a commodity household item these days. Stop trying to make yourself feel special by pretending it's important that you know more than other people - it really isn't.
--- Band: Joey Ultra