Linux's Hardware Support
Permalink | Author: Dan Dart | Published: 2010-01-24 14:52:00 UTC | Tags: 64 bit core hardware i7 intel linux opensuse support ubuntu usb windows
Lately, I've been hearing a lot about "Linux needs to master .... to beat Windows". I'll now show you how that's completely false, and how it already has beaten it, by talking about hardware support.
Linux has been proved to have the best hardware support around - see this interview (edit 2021: archived) with Greg KH who's a kernel dev to see in-depth information. Linux had most support for hardware first, including: * 64 bit * USB 3.0 * Core i7
And many more. Conversely, it's easy to install the hardware on Linux. In windows for instance, half the time your hardware doesn't work because you downloaded a dodgy driver, or you have to install it off a CD, or it could even be the case that it bluescreens because the driver hasn't been verified by whoever. Fair enough, that hardly ever happens anymore.
The misconception that a lot of hardware doesn't work on Linux isn't because it doesn't, it does, but because quite often your distribution of choice doesn't ship with the correct userspace tools - e.g. a webcam viewer, a scanning program, an iPod syncer. It's not the actual Linux kernel that's at fault here, it's that the distribution vendors don't include software to manage and access your device. What we need here is a project that either includes everything or says "I see you've inserted a scanner, but you don't have a scanning application. Want me to install one for you?". I have seen openSUSE do this for me before, but Ubuntu sadly lacks this capability, which is the distro that most users allegedly use, so it needs it here.
The fact of the matter is, every piece of hardware I've put into my Linux box has been detected and set up by Linux, but I have had to install a webcam viewer, scanning application and TV viewer. Perhaps it's time for userspace tools to improve themselves and be as good as the kernel.
Comments
Daniel H (URL) said on 2010-02-11T20:05:21.926Z:I think Linux has excellent hardware support, especially for older obscure hardware. The only place lacking these days are where enormous work are being done already, OSS 3d graphics drivers.
It was a long time since i had hardware that didnt work in Linux. The situation can ofcourse improve with even better automagic but i dont think its any big problem nowadays.
Dan Dart (URL) said on 2010-02-01T22:40:42.24Z:Thanks there. So it's not just userspace tools we're looking for, it's also the proper abstraction libraries we need to interface in between as well.
I suggest that any time where you have had any problems, submit a bug report in the abstraction or library project, and if you can, help out!
Cheers
i80and (URL) said on 2010-01-24T16:03:26.387Z:Good post, and I largely agree with it. Linux has a bad reputation here, mostly undeserved. A stupendous effort has been put into making Linux drivers rule, and to a large degree it's succeeded. But we can't rest easy quite yet; it's not yet a solved problem, thanks to a bunch of tricky DVB cards, oddball sound cards (ALSA lags in driver development), and some graphics cards (Intel Poulsbo comes to mind). I wouldn't mind libmtp supporting my Samsung U5 OGG player either for that matter.
Aaron Toponce (URL) said on 2010-01-24T15:14:29.879Z:Linux has fabulous hardware detection, and even drivers to boot. The problem users complain about isn't a certain piece of hardware working, it's the application talking to that hardware, such as Ekiga talking to a certain brand of HP webcam. It's far too hit and miss, which is why it's not picking up more steam in the desktop arena.
Post a comment:
Sync iPhone/iPod Touch 3G in Ubuntu
Permalink | Author: Dan Dart | Published: 2009-11-29 03:47:00 UTC | Tags: ipod itunes linux ubuntu
A lot of people have been trying very hard to get iPhone and iPod Touch syncing to work correctly in Linux. Some have been doing a FUSE filesystem (which accesses the iPod) and some the database and syncing. Remember this is pre-alpha quality, but I found it synced my tunes nicely from Linux. But due to the database version being old (but quite good enough for the iPod), iTunes does not play nice with it - and will just resync the tracks and may delete them. Also the iPod must have been previosly initialised with a version of iTunes. If you cannot acquire it, or it will not run, contact teuf on #gtkpod in irc.freenode.net. You have been warned!
Mounting support
First, grab iFuse: Add the following lines to /etc/apt/sources.list as root:
deb http://ppa.launchpad.net/jonabeck/ppa/ubuntu intrepid main deb-src http://ppa.launchpad.net/jonabeck/ppa/ubuntu intrepid main
Then do:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F0876AC9 sudo apt-get update sudo apt-get install ifuse ifuse-dev
This should install support for reading and writing files. Create a mount point:
sudo mkdir /media/ipodt/
Add yourself to the fuse group:
sudo useradd -G fuse [your_user_name]
To allow normal users to mount the FUSE filesystems, edit /etc/fuse.conf and uncomment the line (remove the hash from the start of it):
\#user_allow_other
Log out and back in again, or spawn a new login shell. Mount the FUSE filesystem:
ifuse /media/ipodt
You should see that your iPod should be mounted as yourself. You should be able to find the tracks and play them from the computer. They are oddly named and located in iTunes_Control/Music .
Syncing support
To properly sync music (well I say properly), you need to install a special branch of libgpod. You'll need to get it from git. WARNING! THIS WILL OVERWRITE YOUR EXISTING LIBGPOD! Be careful. First install development libraries:
sudo apt-get install git-core build-essential cmake autoconf automake libtool intltool gtk-doc-tools libsqlite3-dev zlib1g-dev
Get teuf's sandbox repository branch:
git clone git://gitorious.org/~teuf/libgpod/teuf-sandbox.git cd teuf-sandbox git checkout origin/iphone30 CFLAGS="-g -O0" sh autogen.sh --prefix=/usr make sudo make install
libgpod should now be installed, if all goes to plan. Create control directories and files:
mkdir /media/ipodt/iTunes_Control/Device
Get the uuid of your device:
lsusb -v | grep -i iSerial
It should be the one that's 40 characters long. From the same teuf-sandbox directory, run:
tools/ipod-read-sysinfo-extended /media/ipodt
Check that a file exists. Do:
cat /media/ipodt/iTunes_Control/Device/SysInfoExtended
This should spew XML at you. Now, install your syncing program of choice. I chose gtkpod because it works for me.
sudo apt-get instal gtkpod
The program should pick up the device and ask which model it is. There should be your device listed at the bottom (you may have to scroll). Choose it and let it do its thing, and initialise your iPod. Check a file has been created:
ls /media/ipodt/iTunes_Control/Device
If you get nothing, there's a problem. Go ask teuf. If you get that filename returned. all is well. You are able to sync, save files and update the database. Bear in mind that it saves an older version of the database, so if you go to iTunes and back, it will update tracks and the database, but they should still be readable in Linux.
I hope this has been helpful to you!
Here are some helpful references if you get stuck: iFuse (edit 2021: archived, also moved project to https://libimobiledevice.org/) iPod Syncing
Comments
Unknown (URL) said on 2010-07-11T07:20:13.466Z:Hello, i am glad to read the whole content of this blog and am very excited and happy to say that the webmaster has done a very good job here to put all the information content and information at one place.
Post a comment: