USB 2.0 for Linux Coming Soon
itwerx writes "There's an article on MSNBC about USB 2.0 support in Linux. Interesting to see that the open source community is less than a year behind the most powerful software company in the world in supporting it. Does that make us the second most powerful now? :)"
Don't you find it a bit strange that MSNBC, which is at least half owned by Microsoft, is almost advocating Linux?
Anyway, I'm glad to hear it. I look forward to replacing my USB 1.1 hard drive housing with a USB 2.0 one.
Reading the MSNBC story one would think this would solve all driver issues, if the device is USB 2.0. Last time I checked you still need to install some type of software to get a device to work. If the manufatures don't support linux, you might as well have a PCI card.
NetBSD has had NetBSD support in current for quite some time. Does that make it number 2?
The previous has been a secret message to my comrades.
We had AMD Hammer 64 bit processor support before Windows did.
-> Sometimes, you just gotta break free from the shackles of proprietary code.
>Interesting to see that the open source community is
>less than a year behind the most powerful software
>company in the world in supporting it.
1 Year is interesting? Seems like maybe a couple months behind would be interesting.
Interesting to see that the open source community is less than a year behind the most powerful software company in the world in supporting it. Does that make us the second most powerful now?
No, it makes us a year behind. That isn't necessarily bad given the limited number of USB 2.0 to support, but it does show where it rates in the Linux priorities. (As a comparison, consider that Linux supported Itanium very early on - and I've yet to see one in the wild...)
There is no controversy here, Pay Respect to those doing the work, *waves the jedi hand* Move Along.
Now all I have to do is wait for hardware that supports 2.0.
CNET ran this story before MSNBC. The story is Here.
===> An eye for an eye makes everyone blind - MG
Coming? I'm using it right now, it's an experimental option in 2.4.18 (maybe earlier too).
Flawless.
-- Note: If you don't agree with me, don't bother replying. I won't read it.
I've been using USB2 on linux for a while now. Since the kernel has source available, it's possible to apply patches to add features without waiting on a vendor. It would be more accurate to say something like "mainstream usb2 support" or "usb2 in released 2.4 kernel".
FWIW, I've found USB2 to be not as fast as firewire for things like hard drives, a conclusion that windows benchmarks have also shown. So it's not like the delay in releasing 2.4.19 is really hurting anything, especially since there aren't many usb2 devices or ports around anyway.
Being a year behind in this industry is not something to be proud of. Rather this is something to hang our heads about. MSNBC must have loved posting this article. They're notorious for innovation delays, yet they still kicked our butts by 12 months. If the Linux/OSS community hopes to be competitive in the desktop environment it needs to stop being satisfied with second best. Granted these accomplishments are noble in light of the skimpy development finances being poured into OSS, but funds are growing.
Success will come when we start forming hardware protocal standards based on technology that we've accelerated beyond the point where M$ can have much of a say in the standards. People will run linux on their desktops when it can do really innovative cool stuff that other closed-source companies have only started circulating memos about developing.
Linux can no longer live of the legacy of its stability. Say what you will, but the NT5 kernel is suprisingly stable and new versions will likely continue to improve now that M$ home users have been exposed to stable kernels. Linux still has an upperhand is security, but M$ is spending a lot of $ and time into matching us there too. Our frontier needs to be usability, flexibility (open source media formats not restricted by heavy licensing), and innovative feature implamentation. This combined with the corner stone of extremely low cost will drive linux/oss above and beyond.
ôó
If USB (the interface that hardware presents to core driver software) had been designed well in the first place, then speed would not matter, except for content of data elements that describe speeds (e.g. a value that says this is running at 12mbps or this is running at 480mbps, or the argument to a command that says force this to run at such and such a speed). Maybe they needed to add speed information and speed control, but that wouldn't be a whole change that needs a whole new software architecture (that's something that could have been added in an overnight coding session). What you'd get is data being transferred 40 times faster with 480 mbps.
Without looking at the specs to see, it's rather obvious that the hardware people just redesigned the interface all over again. Can't someone teach those people some things about reusability and refactoring? And USB isn't the only place this happens. Of course you do need to occaisionally add something to an interface, so a tweaked driver will be needed to fully take advantage of new hardware ideas. But a whole redesign isn't called for ... unless the old design was a POS. But was it the hardware or the software that was a POS? Looks to me like it was the hardware. We'll see when the next speed step occurs. Surely, the Firewire people won't stay 80Mbps down for long. They'll probably aim for somewhere in the 800 to 1600 range next, I bet (if not already). Will the next generation be compatible while still running at the higher speed?
now we need to go OSS in diesel cars
How can you have support for a non-existing CPU?!
Just because it hasn't showed up on pricewatch.com yet doesn't mean it doesn't exist. There are prototypes, and before that, there were emulators.
Will I retire or break 10K?
From a high level software perspective, there wasn't that much to do.
The biggest amount of work was developing the driver for the new EHCI host controller. A new host controller was necessary for the USB wire interface changes to support the faster speeds.
The reason why development took a while for the EHCI controller was because of the lack of USB 2.0 devices. It's hard to test a driver when you have no hardware to test it against.
That being said, the article is VERY misleading. Linux has had USB 2.0 support for well over a year now and before 2.5 was forked. It's just that it was backported for 2.4 now. Even that's misleading since it's been in the 2.4.19pre tree since it was forked months ago.
OSS typically lags commercial software support, unless the hardware standards designers and hardware manufacturers work with Linux and/or Linux people right from the start. All too often, the first sample a Linux developer has to go on is bought retail the day a new product is released, and often with no hardware specs to go on. I once contacted a hardware standards group by telephone to inquire about getting a copy of the standard for development purposes. If I wasn't a member of their organization, then I'd have to pay $10,000 and sign a non-disclosure agreement. I was told membership was "very exclusive and expensive". That standard was eventually released when products came out. That was the I2O standard.
now we need to go OSS in diesel cars
> The new version won't instantly enable USB 2.0 to work with Linux-based devices
*Still* having trouble getting their heads around this Linux thing
I know exactly what that part of the article means. It means that Linux now supports USB 2 controllers and hubs but does not yet support any USB 2 devices connected to a USB 2 tree.
Will I retire or break 10K?
You're seeing a couple of different things happening here.
The host controller is the host side hardware which supports USB. For USB 1.1 (there was a 1.0 standard, but it's broken and hasn't been used in years) there was OHCI and UHCI.
For USB 2.0, there's EHCI.
You can't run USB 2.0 on an OHCI or EHCI HCD. You can't run USB 1.1 on an EHCI HCD.
So how does backward and forward compatibility work? Simple. Your USB 2.0 card has both 1.1 and 2.0 HCD's on it. Most likely you have a couple of OHCI controllers and a couple of EHCI controllers on it.
That's why Linux saw the 1.1 controllers, because they need to exist to support 1.1 devices plugged into the root hub. Windows will also see the 1.1 controllers for the same reason.
Now, back to my subject. I call bullshit on devices working a hell of a lot faster in Windows. Why? Because the HCD is the bottleneck. If you plug a 1.1 device into your 2.0 card, it'll still be using the 1.1 controller that's on that card. The 1.1 controller is limited to 12Mbps.
The testing I've done (as well as other people) shows that Linux is consistently faster than Windows on almost all devices. For those devices where Linux is slower, it's only slower by an insignificant amount. Hardly "a HELL of a lot".
I won't even begin to explain the ignorance behind your assertion that there is nothing to sync your paln with under Linux.
I read on some site that USB2.0 could be used to produce virtual NICs. Anybody know someone working on this? It sounds like an interesting way to network a set of boards together with direct connections to each board without using up all the PCI slots. Do you go through a hub of some sort?
It sure sounds interesting to have something like that especially if this fabled memory pooling version of Mosix ever shows up.
I've been using it with 2.4.18, and it's been working just fine (I have a USB 2.0 disk). The interface cards are cheap and the throughput is great. And it seems to be a simple extension of USB 1.0, so drivers like USB storage just seem to work. (Firewire, of course, works as well.)
> do you guys think [Linux] would be able to make such advancements if m$ did not exist? what are our biggest device support things that m$ didnt have first?
What the heck are you talking about?
Microsoft doesn't make advancements -- the PC hardware developers do.
Microsoft's primary role has been to hold the hardware developers back.
Do you remember, in the early nineties, when we had hardware-based Virtual Machine capabilities on the PC? Remember when, because of virtual memory and multitasking innovations from companies like Qualcomm, we were able to run multiple copies of DOS, DR-DOS, and other OSes, in parallel? What happened? Microsoft wanted users to only be able to run one OS -- DOS/Windows -- on their PCs. Thus, Microsoft tied memory management into Windows, thereby destroying further developer on PC VM capabilities.
Do you remember when the 386 came out, with its new memory protection capabilties? Do you remember how many years it took for Microsoft to provide support for those capabilities? Even Windows 95 still wasn't using it correctly. In fact, it was Linux that, while new, provided support for 386 memory protection -- long before Windows.
Do you remember when Microsoft hired a group of VMS developers from Digital to develop a stable version of Windows? Remember when they succeeded with NT 3.51? Remember when Microsoft destroyed that stability by allowing video drivers to run in kernel mode, in NT 4.0? Microsoft's history is riddled with backward steps.
Remember when, in 1990, everyone had a capable GUI, that is, eveyone but Microsoft? By the end of the eighties, we had the Macintosh, the Amiga, the Atari ST, and OS/2 and Geoworks for the PC. It wasn't until five years later that Microsoft came out with something even remotely similar, in Windows 95.
Remember when there were simple standards for LANs (SMP), security (Kerberos), printers (PCL), and video (VGA)? Microsoft didn't want open standards, because that might help another OS to compete with Windows. Now, because of Microsoft, we have polluted protocols, and complex devices drivers, tied closely into Windows. Further development of interface standards for PC hardware has slowed to a crawl.
Remember when Microsoft tried to sabotage the standards for Java and OpenGL? Remember the Halloween document where Microsoft stated their plans to "decommoditize" (i.e. destroy the openness of) Internet protocols? Have you noticed that Microsoft has been carrying through on that threat?
Were you paying attention to how long it took for Microsoft to provide a 64-bit version of Windows? The DEC Alpha version of Windows was a joke, because it was just a 32-bit version of Windows, slightly modified to be able to run on 64-bit hardware. Even now, there is doubt about Microsoft's claim of being 64-bit-ready. Meanwhile, Linux has been running on 64-bit platforms for years.
Have you noticed all of the hardware innovation that has been taking place with Linux? Just in the last few years, we have seen Linux based supercomputers, Linux-based clusters for movie graphics, Linux on IBM mainframes, Linux in car radios, Linux-based store kiosks, Linux-based digital video recorders, and so on. Many of those innovations could have taken place ten years ago, except for one thing -- they were being held back by Microsoft.
If there is one thing that has stood out about Microsoft and Windows, it is their _lack_ of innovation. Linux and Open Source are easily outstripping Windows.
You can read linux-usb news and reach linux-usb team at http://www.linux-usb.org
Never learn by your mistakes, if you do you may never dare to try again
We covered the X-Box, didn't we?
It's been a long time.
Firewire will stay on it's professional photo-video niche because of the extra expenses of fiber optics...
USB uses copper, so devices built for USB 2.0 will eventually be substantially less expensive than the ones built for Firewire.
No sig for the moment.
Apple doesn't support USB 2.0 - as many other people have pointed out, Orange Micro (www.orangemicro.com) offers PCI cards and drivers for OSX.
Having said that, one has to commend Apple for the architecture inside OSX. A third company wouldn't have been able to create drivers that quickly if OSX never had good plumming. I guess since it started getting designed around 98, they could see USB / Firewire becoming the standard for external IO and designed the OS to allow for easy integration of such devices. I once read the docs about the OSX driver architecture and was impressed - many well thought out layers of abstraction - but that was a long time ago.
Would a LAN connected by USB2 be less expensive than gigabit ethernet (using a switch with all gigE ports)? Seeing as gigE switches are still relatively expensive, going USB2 might be a way to cut costs. However, my guess is that gigE latency would still be lower.
To-do List: Receive telemarketing call during a tornado warning. Check.
USB is good for keyboards and mice... that's about all.
USB 2.0 is faster than Firewire at 480mbps (vs. 400mbps for Firewire). Who needs 480mbps for a mouse? I put a 24X Yamaha cutter into a USB 2.0 enclosure and can burn CDs at the full 24X speed, so I'd say that it's good for external CD drives, too. It's also good for flatbed scanners, digital cameras, tape drives, printers, USB-to-Ethernet adapters, and just about any external peripheral which would benefit from a high speed, low cost, hot plug interface. That describes a lot of peripherals.
MS is the only player in the field.
Hardly. As this article states, Linux supports it and, as another poster pointed out, so does NetBSD.
Another reason to support it is that it will soon be standard on every PC motherboard sold while getting Firewire ports will usually require the addition of a PCI card.
Lastly, it uses inexpensive cables and is backwards compatible with USB 1.1 devices and cabling. If I have a USB hub on my desk, USB ports on the front of my computer, and a USB mouse, barcode scanner, and flatbed scanner, why would I want to start buying an incompatible Firewire peripherals? It already looks like there is a bald eagle nesting behind my computer, so I don't need yet another set of cables for Firewire.
So nice of M$ to draw attention to the mechanism that it keeps splintered. The article phrases the situation as a model for Linux device compatiblity as if there were no other options and Linux development will alsways be broken and lagging. This is true, if you are talking about chasing M$'s broken tail. CSS has demonstrated that any device can be made impossible to talk to, regardless of technical skill.
My experience with M$ USB has been less than advertised. Windows 2000 has managed to make USB I not hot pluggable, and it manages to screw up one of my camera's flash card formating everytime I plug it in at work! At home, I tried to print out five plain text pages to a USB printer from win98. I got four pages, five error messages for lack of communications and one last message about "unknown system errors" requiring a reboot. Sometimes it works, sometimes it don't. That's what happens when you screw around with "standards" too much.
On the other hand, pcmcia with a compact flash adaptor has worked very well. Compact flash registers itself as a new hard drive, /dev/hde in most cases, and this shows up in /var/log/messages when you plug it in. So long as your camera stores pictures unscrambled, you can get them without any silly interface software or device driver. Mount and coppy. Cannon S110 works great, Sipix has broken pictures. Yeah, pcmcia only goes 64 mbps, sigh. Too bad someone out there wants to make sure that:
1. You must use a propriatory driver to talk to your devices. This will enable DRM of the pictures you take - eventually you will have to pay per play to view or print your own pictures. That's progress!
2. That driver will not work forever and you will have to replace your device. Bitrot! more progress. My place of work is filled with old devices that stoped working due to "software upgrades". The vendors recomend, shocker, that we replace the devices.
M$ will never support a "universal" device.
Friends don't help friends install M$ junk.
Idiot. Firewire already *IS* supported on Linux.
Leave it to MSNBC and CNET to print totally uneducated articles about something they have no basis for.
From linux-usb.org:
People have been using USB 2.0 with usb-storage devices from Linux hosts since June 2001, but it was only in early winter of that year (a short while before Linus created the 2.5 development branch) that other USB 2.0 devices (notably, hubs) began to be available. So while some changes for USB 2.0 were rolling into 2.4 kernels through the year 2001, most of the tricky stuff (the ehci-hcd driver) was separate until the 2.5 kernel branched. Recently, some Linux distributions have begun to include this support.
That post wasn't flamebait. I was commending a company for having employees that were doing the right thing. Give me a break.
The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
FireWire uses copper as well. Perhaps you are thinking of Fibre Channel?
It's too bad more people don't recognize this. I just can't understand these people crying in their beer because Linux is less than I year behind Microsoft. Geez!
99% of drivers for Windows are written by device manufacturers. 99% of drivers for Linux are written by people working in their own spare time.
A Government Is a Body of People, Usually Notably Ungoverned
Huh? Firewire is copper too! The real reason firewire didn't take over was (a) Apple and their evil patents, and (b) firewire chipsets are more complex. However, USB 2.0's EHCI standard also requires more complex chipsets, so the difference is not much smaller.
A deep unwavering belief is a sure sign you're missing something...
I recently read an article about this on C/Net (IIRC) and it really read more like this:
Hey, Linux will soon have USB 2.0 support and with all the vendors/devices supporting USB, it's a good thing Linux is eventually getting USB support.
The average Joe is going to think you can't use your USB devices with Linux.
So watch out when you read those articles because there can sometimes tell another story. The number one marketing company in the world isn't always doing in-your-face marketing. Actually, they very seldom do it that way. In that way, they are very unlike the Borg who are so arrogant and powerful they just keep coming( in the clear ) directly at their prey.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
Very simple: USB2.0 provides an interface that requires more CPU power than Firewire, and which also is not peer-to-peer, so that it requires a computer with an Intel processor. These are good because they help drive demand for Intel processors (and of course Intel was the main company behind USB).
"Does that make us the second most powerful now? :)"
No, it just validates Microsoft's FUD that Linux is a bad choice for a desktop OS because of poor hardware support.
Agreed. MSNBC has printed quite a few stories about Linux and very few seemed to have any hint of anti-Linux bias. It seems every time MSNBC publishes a Linux story, people either look for the smallest negative connotation and scream "BIAS!!!" or find none and say that they are just trying to build a reputation as unbiased so they can cover up the real Microsoft evils.
Oddly, MSNBC has also published quite a few articles that do not make Microsoft look all that appealing. Unless somebody has some hard evidence as to why MSNBC is biased, like, oh-I-don't-know one single clearly biased story, give them a break. Does everyone think that every honorable journalist was instantly corrupted by Microsoft's aura?
Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
Not only that, drivers written by hardware vendors tend to be buggier than drivers written by the OS people for the OS they will be used in. Bill Gates has even blamed much of the buggieness of Windows on this. The bugs tend to be in interfacing with the OS itself, In fact, I've even seen it myself, where selecting certain options in the HP printer driver property menu on NT would instantly blue-screen. Linux tends to have more of the latter since OS enthusiasts are doing most of the work.
now we need to go OSS in diesel cars
NetBSD runs on a DC265... :) But its much more fun to play Doom on it though.
"Why do you consent to live in ignorance and fear?" - Bad Religion
No, Apple and their evil patents didn't sink Firewire. They let the license go for a dollar a box, then soon waived the fee altogether.
INTEL HAS THE PATENTS ON USB, and they ain't shy about making money on it. And forcing Firewire OUT, and forcing their inferior product IN.
As for complexity, that would not be expensive if the technology could get better economies of scale.
But since Wintel does not want Apple to prosper, and also since Intel was mightily miffed about little Apple taking it's USB thunder away when Firewire came out, they have FUDDed, lied, blocked, inhibited, you name it, any attempt at getting Firewire into the mainstream.
Firewire is an amazing success story -- Overachiever actually makes big despite determined opposition to Voldemor it in the crib.
Expensive complexity in chipsets is nonsense. Much more complex circuitry exists for a song -- how much is an LCD desktop screen? A video card? A CPU, jeez! A Duron 1.3 is going for $54! I picked up my Shuttle FV-24 barebone PC with Firewire on the motherboard for $190! There is no reason why Firewire is not on the mobo other than cutthroat "free" marketers making damn sure crud gets sold to nuke the hated compeitor.
True story, happend today - a friend of mind got a USB connected digital camera. He took some pictures and needed to send them pronto to be included in some newspapaer story (long story...).
:-)"
He plugs it in, XP crashes. Every time the camera goes in XP goes out the Windows...
Friend remembers me saying that I think Linux can handles this easily and gives me a phone call. I'm away from my desk so friend decides to try on his own: He boots Linux, camera gets detected automatically, friend grabs photos easily and send newspaper.
When I called him there was nothing for me to do but say: "So, Linux saved the day once again
Gilad.
Gilad.
Being first is not always being best.
Actually, in software, the first version usually has the most bugs.
Rush, Rush, and Rush. Debug later sell first.
--- Hindsight is 20/20, but walking backwards is not the answer.
That's the thrust of your argument? I was tryingto invent a verb.
As for the get a life BS, as we say in the chatting biz,
"If what I say indicates that I should get a life, what does that say about the imbecile who sits around reading what I said?"
F&#k off.
Has anyone pointed out that releasing a year behind is like a million in computer years?
Linux O Muerte!
This is a pet peeve of mine, but megabit and megabyte are not synonims. They differ by a factor of eight. Does the journalist really mean mbps means megabits per second? Am I being too picky? A byte as wordsize is obsolete these days anyway.
My favorite quote of the article is "SuSE is thinking of providing software that lets customers upgrade to the 2.4.19 kernel..." Last time I installed SuSE, gcc and ftp were part of the standard installation.
Ah, the ol' usbnet driver. Thanks for the tip. Of course getting a USB2.0 to ethernet setup working and creating virtual NICs would be two different issues. Is there such thing as a generic MAC addeess?
I've seen some of USB1.0/Ethernet adaptors as well so the same thing with 2.0 didn't sound all that far fetched. It sounds quite intriguing, but I suppose there's quite a few details to be worked out. For one I don't think I've seen USB2.0/Ethernet adaptors yet. You'd probably need those to start. Oh wait, the MAC addess would be in those. Hmm, I see you'd need to buy these little adaptors --once you could find 2.0 versions of them-- and then switch them using a regular fast ethernet switch. Perhaps it's not as complicated as a I thought, nor quite as virtual as I had assumed at first. That doesn't mean it aint cool though. Those USB1.0/ethernet adaptors were right cheap as I recall.
um...
http://linux1394.sourceforge.net
the royalty is only in the NAME and use of the Logo, thats why in Linux its ieee1394 with a different logo...
--
Time is on my side
My biggest pet peeve about USB in ANY platform is that instead of doing what they did with the mice/keyboards/audio/parallel drivers and make a standardised spec. for a serial class, they waited too long so the manufacturers had to come out with thier OWN methods to communicate with their serial devices. This made it a nightmare to try and get a serial converter recongnised in linux.
For windows, the manufacturers made some of the drivers avail for their serial converters. [but now even some of the early ones are no longer supported in XP like the enterga/xircom/intel ones and the intel based mct ones]
The problem with USB is the need for a separate driver for MANY of the common devices.
Getting everyone together to come out with UNIVERAL device specs that the manufacturers follow and an easy way to update the device IDs for the OS would greatly advance the use of USB on Linux.
--
Time is on my side
Fibre Channel uses copper too. Perhaps you're thinking of something else?