LWN: Comments on "Linux first to offer USB 3.0 driver (Linux Devices)" https://lwn.net/Articles/337151/ This is a special feed containing comments posted to the individual LWN article titled "Linux first to offer USB 3.0 driver (Linux Devices)". en-us Wed, 22 Oct 2025 18:13:13 +0000 Wed, 22 Oct 2025 18:13:13 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Say what? https://lwn.net/Articles/338045/ https://lwn.net/Articles/338045/ giraffedata <blockquote> That wouldn't stop us from quoting in bytes. </blockquote> <p> But bytes aren't a unit of measure to be quoted. They're units of data. <p> 8 bits don't make a byte like 12 inches make a foot. It's more like 24 beers make a case. You could point to a keg of beer and say it contains 6.9 cases of beer, but in fact there are no cases of beer in it. <p> Computer memory and disk sectors, on the other hand actually have bytes in them. <blockquote> It complicates the picture a bit, but there are plenty of complications. </blockquote> Co-opting the word "byte" as a unit of measure does complicate the picture, and it doesn't make anything less confusing, because there are so many levels on which to count the bits. Most people would say it's fraudulent to say 5E9/8 bytes travel down this line every second, since less than 80% of that number end up as actual bytes in computer memory. <p> The only unambiguous measure you can give is the raw bit signalling rate. Try to get more real-world than that, and you have to get specific about which real world you mean. Sat, 20 Jun 2009 20:33:15 +0000 Say what? https://lwn.net/Articles/338044/ https://lwn.net/Articles/338044/ giraffedata <blockquote> In baud, I expect that USB 3.0 would be listed as 500 Mbaud as the symbols are made up of 10 coded bits. </blockquote> The fact that you can separate those bits in time means it's 5000 Mbaud. <p> In fact, it's directly analogous to a classic baud-measured protocol, Bell 103A: A 300 Baud modem transmits 300 bits per second, with every 10 representing one byte analogous to a byte in the USB stream. <p> On a transmission line, it is posible to represent multiple bits in a single indivisible unit of time -- a symbol --, and that's where baud and bps differ. For example if you have 4 defined voltages, a single symbol carries two bits. Sat, 20 Jun 2009 20:17:01 +0000 DE-9 https://lwn.net/Articles/338043/ https://lwn.net/Articles/338043/ giraffedata Oh, lots of people get DE-9 right. And there's nothing to lose by saying it right even if most people don't. <p> If you want to see a connector name that is almost universally misused, look at RJ-45. Virtually everybody calls the 8P8C modular telephone connector RJ-45, even though the real meaning of RJ-45 (an ancient hookup standard for modems) is formally documented. Sat, 20 Jun 2009 20:07:21 +0000 Who prevents you from running the thing? https://lwn.net/Articles/337785/ https://lwn.net/Articles/337785/ BenHutchings Yes, we are actively packaging non-free firmware so long as the licence clearly says we can do so. Unfortunately this does not seem to be the case for the Keyspan serial firmware, as the licence says: <blockquote>Permission is hereby granted for the distribution of this firmware image as part of a Linux or other Open Source operating system kernel in text or binary form as required.</blockquote> and we would be distributing separately from the kernel. Thu, 18 Jun 2009 04:00:56 +0000 Is it? https://lwn.net/Articles/337372/ https://lwn.net/Articles/337372/ khim <blockquote>Permission is hereby granted for the distribution of this firmware image as part of a Linux or other Open Source operating system kernel in text or binary form as required.</blockquote> <p>I fail to see how it can be compatible with non-free distribution. It's not distributed as "part of Linux or other Open Source operating system kernel", it's distributed separately (the whole point of excercise is to strip non-free blobs from kernel and push them in separate packages) and so the text as written does not apply. The question if separate distribution <b>for</b> Linux not "as part" of a Linux is open as far as I can see.</p> Sun, 14 Jun 2009 08:17:00 +0000 Who prevents you from running the thing? https://lwn.net/Articles/337371/ https://lwn.net/Articles/337371/ khim <blockquote>But preventing the OS from running on non-free hardware? </blockquote> <p>If your hardware includes everything it needs - it can be considered black-box and used as such. If it needs something from an OS - this part should be hackable. Or else your OS includes some part which <b>can not</b> be supported (by Debian developers at least) - and Debian does not like it. Firefox was excluded from Debian using the same logic, it's not just about firmware.</p> <p>Probably such blob can be put on web somewhere and then the device will only be supported till it's present on web? Also not a good idea: people will whine when device perfectly usable yesterday suddenly does not work. So the proper way, sadly, is to remove everything from distribution and give the end-user ability to download and install firmware. I think Debian work on the second part...</p> Sun, 14 Jun 2009 08:08:08 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337348/ https://lwn.net/Articles/337348/ mikov <div class="FormattedComment"> I agree 100% (although in practice SMT boards are probably very hard to repair).<br> <p> But preventing the OS from running on non-free hardware?<br> </div> Sat, 13 Jun 2009 17:11:01 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337346/ https://lwn.net/Articles/337346/ foom <blockquote>It is the same as requiring the design schematics for supported devices to be open source.</blockquote> <p> I really wish this hadn't gone out of style. For the few devices I own that *do* have easily accessible electrical schematics and PCB layout images, it really makes a big difference to their repairability. It used to be standard practice to always provide schematics with electronics devices, but that doesn't seem to have translated into modern computer equipment. Sat, 13 Jun 2009 16:47:16 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337345/ https://lwn.net/Articles/337345/ mikov <div class="FormattedComment"> The firmware runs within the Keyspan device, not the Linux kernel. It might as well be in a flash in the device, but that would increase the cost.<br> <p> So, yes, requiring that this firmware be open source, given that there don't even exist free tools to compile it, is idiotic. It has absolutely no benefit for anybody. It is the same as requiring the design schematics for supported devices to be open source.<br> <p> <p> <p> </div> Sat, 13 Jun 2009 16:26:53 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337330/ https://lwn.net/Articles/337330/ cortana <div class="FormattedComment"> According to <a href="http://wiki.debian.org/KernelFirmwareLicensing#keyspan.28drivers.2BAC8-usb.2BAC8-serial.29">http://wiki.debian.org/KernelFirmwareLicensing#keyspan.28...</a> the license is fine for non-free.<br> </div> Sat, 13 Jun 2009 10:00:52 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337328/ https://lwn.net/Articles/337328/ strcmp <div class="FormattedComment"> I had assumed it is Keyspan who chooses the license of their firmware. How is following the license fanatic and stupid, where do you live?<br> </div> Sat, 13 Jun 2009 08:09:18 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337309/ https://lwn.net/Articles/337309/ mikov <div class="FormattedComment"> I don't think the problem is in the converter driver per-se. If thought it was I wouldn't be complaining; I would just use different hardware with a better driver. The problem is deep somewhere in the bowels of the USB subsystem. <br> <p> In my experience the Keyspan adapters are the best, but they are not so easy to buy. Plus, Debian doesn't support them out of the box (which is not Keyspan's fault, but one of the very few cases in which Debian demonstrates fanatical stupidity).<br> </div> Fri, 12 Jun 2009 21:28:37 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337307/ https://lwn.net/Articles/337307/ mikov <div class="FormattedComment"> I actually tried that right away and it didn't fix the problem. I haven't tested the latest kernel versions though, but they are not an option in my case anyway. It is a shame, because the same hardware works flawlessly in Windows (and I bet it even works in Windows 2000, which is how many years old?).<br> <p> <p> </div> Fri, 12 Jun 2009 21:23:56 +0000 Say what? https://lwn.net/Articles/337305/ https://lwn.net/Articles/337305/ gilb <div class="FormattedComment"> In baud, I expect that USB 3.0 would be listed as 500 Mbaud as the symbols are made up of 10 coded bits.<br> <p> That would make 802.11a/g 250 kbaud for all of its data rates (from 6 to 54 Mb/s).<br> </div> Fri, 12 Jun 2009 20:39:33 +0000 Let's stop at bytes per second https://lwn.net/Articles/337304/ https://lwn.net/Articles/337304/ gilb <div class="FormattedComment"> USB 2.0 is 480x10^6 bits/second. PHY people tend to think in powers of 10.<br> </div> Fri, 12 Jun 2009 20:37:26 +0000 Bandwidth is symmetrical, control is not https://lwn.net/Articles/337301/ https://lwn.net/Articles/337301/ Steve_Baker <div class="FormattedComment"> If the 3.0 controllers support the USB On The Go (OTG) extension, it might <br> not be a problem (although it may still require a special cable for <br> electrical reasons,) otherwise I suppose PC to PC USB would continue to <br> require a bridge chip. A bridge chip can probably be made decently fast, <br> but would still introduce latency. Since 3.0 allows for slave initiated <br> communications I suspect a bridge chip will be unnecessary. Furthermore <br> the spec seems to specify a special A to A cable for debugging and "other <br> host-to-host connection applications." I'm cautiously optimistic as it <br> really seems like 3.0 is taking on Firewire which has always had this <br> capability.<br> <p> As far as the network topology goes, at the USB level it would just be a <br> point to point link, one end a host/master, the other a device/slave. The <br> mesh network wouldn't be handled at the USB protocol layer, but at a <br> higher layer.<br> <p> I'm not saying it's going to work the way I'd like, just that it might, <br> I'm keeping my fingers crossed.<br> <p> </div> Fri, 12 Jun 2009 20:35:25 +0000 Say what? https://lwn.net/Articles/337300/ https://lwn.net/Articles/337300/ gilb <div class="FormattedComment"> The 5 Gb/s is marketing speak, the real, raw data rate is 4 Gb/s. The PHY has 200 ns symbol time (5 Gsymbols/s) but encodes the data with 8b/10b, i.e., every 10 symbols on the wire corresponds to 8 bits of information.<br> <p> If you rated 802.11a/g the same way it would be 72 Mb/s. The 54 Mb/s data rate uses a 3/4 coding, i.e., for every 3 bits input, you get 4 coded bits on the air. (4 us symbol time, 288 coded bits per symbol, 216 data bits per symbol.)<br> <p> This sort of exaggeration seems to be becoming more common. I sometimes hear that HDMI 1.0 is 4.5 Gb/s, when it is really 3.6 Gb/s (TMDS encodes 8 bits for every 10 symbols as well).<br> <p> The good news is that the 4 Gb/s is bi-directional, there are separate up and down link wires, as opposed to USB 1.0 and 2.0 in which the same wire and hence the available bandwidth is shared for up and down link.<br> <p> The protocol for USB 2.0 is not particularly efficient either, which is part of what gives the much lower throughput for a single device. The aggregate throughput (i.e., with more than one device) can be higher. OTOH, the simplicity of the protocol makes endpoints cheap.<br> <p> USB 3.0 looks to be a much more efficient protocol, so it is possible that the throughput improvement will be significant, aside from the improvement in the PHY rate.<br> </div> Fri, 12 Jun 2009 20:31:25 +0000 Let's stop at bytes per second https://lwn.net/Articles/337295/ https://lwn.net/Articles/337295/ admcd <div class="FormattedComment"> Ah, but how many bits in a byte.<br> <p> I'm not sure whether there are any current systems where a byte isn't 8 bits. However, some standards bodies use "octet" to avoid any possible ambiguity.<br> </div> Fri, 12 Jun 2009 19:12:04 +0000 Bandwidth is symmetrical, control is not https://lwn.net/Articles/337287/ https://lwn.net/Articles/337287/ khim <blockquote>I think it's very likely the bandwidth is symmetrical. I have not read anything to suggest it is otherwise at least.</blockquote> <p>Badwidth is symmetrical, but like all version of USB there are devices and there are hosts. PC is a host, HDD is device and some cams can be both (host when connected to printer, device when connected to PC). Since difference between host and device is fundamental you can not just connect two PCs via USB - you need connecting device. Device like <a href="http://www.amazon.com/Multi-LinQ-PC-USB-2-0/dp/B00009MVGO/">this one</a> can act as mediator, but all such devices have poor, unreliable and, most importantly, <b>slow</b> drivers and in general it makes USB unusable as network solution... Certainly not threat to Ethernet...</p> Fri, 12 Jun 2009 18:38:02 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337288/ https://lwn.net/Articles/337288/ gevaerts <div class="FormattedComment"> The bandwidth is, but it's still a strictly master-slave tree topology<br> </div> Fri, 12 Jun 2009 18:31:16 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337280/ https://lwn.net/Articles/337280/ Steve_Baker <div class="FormattedComment"> That's true, but given that it's designed for things like hard drives, <br> where uploading to your hard drive is as important as downloading from it, <br> I think it's very likely the bandwidth is symmetrical. I have not read <br> anything to suggest it is otherwise at least.<br> <p> </div> Fri, 12 Jun 2009 17:36:55 +0000 Say what? https://lwn.net/Articles/337263/ https://lwn.net/Articles/337263/ k8to <div class="FormattedComment"> That wouldn't stop us from quoting in bytes. It complicates the picture a bit, but there are plenty of complications.<br> </div> Fri, 12 Jun 2009 15:10:12 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337261/ https://lwn.net/Articles/337261/ gevaerts <div class="FormattedComment"> Full duplex doesn't mean symmetrical<br> </div> Fri, 12 Jun 2009 14:52:38 +0000 Four new wires https://lwn.net/Articles/337257/ https://lwn.net/Articles/337257/ khim <blockquote>4Gbps full-duplex on a single wire? How do they do that, or did they add more wires for USB 3.0.</blockquote> <p><a href="http://www.3dnews.ru/_imgdata/img/2008/11/17/103142.jpg">Connector A</a>, <a href="http://www.3dnews.ru/_imgdata/img/2008/11/17/103141.jpg">Connector B</a> and <a href="http://www.3dnews.ru/_imgdata/img/2008/11/17/103140.jpg">Connector Micro B</a> - two new wires for SuperSpeed Up and two new wires for SupeSpeed Down. Like Gigabit Ethernet, just shorter and few times faster...</p> Fri, 12 Jun 2009 14:17:57 +0000 Say what? https://lwn.net/Articles/337258/ https://lwn.net/Articles/337258/ da4089 <div class="FormattedComment"> i can't help but mention bps vs baud as well :-)<br> </div> Fri, 12 Jun 2009 14:15:36 +0000 Let's stop at bytes per second https://lwn.net/Articles/337256/ https://lwn.net/Articles/337256/ sbergman27 <div class="FormattedComment"> Bytes per second is fine with me.<br> <p> FWIW, to me the only place where it makes any sense at all to use kibibytes (an how I despise that term!) is for RAM. Durable storage like hard drives, CDs, DVDs, and even flash memory, really, should just use simple powers of 10. RAM is a special case. <br> <p> By the by... does anyone happen to know what style of "megabits per second" are referenced by USB 2.0's 480 mbit/s spec?<br> </div> Fri, 12 Jun 2009 13:51:45 +0000 DE-9 https://lwn.net/Articles/337254/ https://lwn.net/Articles/337254/ sbergman27 <div class="FormattedComment"> Except that in practice, virtually nobody ever says DE-9.<br> </div> Fri, 12 Jun 2009 13:45:36 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337250/ https://lwn.net/Articles/337250/ Steve_Baker <div class="FormattedComment"> Although it maybe wasn't designed for it and its latencies and overhead <br> probably will significantly reduce performance from the stated specs, at <br> these speeds and with full-duplex support, it competes with Ethernet, <br> Fiberchannel and even Infiniband (at the very low end admittedly.) I can <br> easily see using USB 3.0 as a poor man's Infiniband replacement. If <br> future motherboards come with as many USB 3.0 ports as todays boards have <br> 2.0 ports, then it would be trivial (and cheap?) to setup rack-level mesh <br> or star topologies or even small scale fully connected topologies. Should <br> hopefully at least give 10+Gbps Ethernet a kick in the pants.<br> <p> </div> Fri, 12 Jun 2009 13:41:45 +0000 Say what? https://lwn.net/Articles/337252/ https://lwn.net/Articles/337252/ clugstj <div class="FormattedComment"> 4Gbps full-duplex on a single wire? How do they do that, or did they add more wires for USB 3.0.<br> </div> Fri, 12 Jun 2009 13:22:38 +0000 Say what? https://lwn.net/Articles/337247/ https://lwn.net/Articles/337247/ robert_s <div class="FormattedComment"> "And why are we still quoting speeds in terms of bits per second in the year 2009? I thought we agreed upon a standard size for a byte a while back, and the proponents of '7' lost?"<br> <p> Nope. That's not how it works. Take 8b10b coding for example. It takes 10 bits to transmit a(n 8 bit) byte, so the raw bitrate is indeed ten times that of the datarate.<br> </div> Fri, 12 Jun 2009 12:39:56 +0000 Let's stop at bytes per second https://lwn.net/Articles/337240/ https://lwn.net/Articles/337240/ khim <blockquote>Just tell me how many Megabytes Per Second the damned interface is nominally supposed to transfer and I'll be as happy as a clam at high tide.</blockquote> <p>But how many bytes per megabyte? Some still think 1048576 (or may be 1024000 like on floppy disk?) is the right asnwer... The only sane unambigous measurement is byte per second...</p> Fri, 12 Jun 2009 11:06:22 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337226/ https://lwn.net/Articles/337226/ dion <div class="FormattedComment"> I'm willing to bet that the USB Serial converter problems all stem from the fact that there is no standard class for serial ports on USB, so everybody and their dog has to reinvent the serial device and not everybody does a good job of it.<br> <p> I once worked with a keyspan usb serial adaptor, it was actually a general purpose 8 bit microcontroller that needed firmware uploaded via usb before it could do anything serial related.<br> <p> <p> </div> Fri, 12 Jun 2009 08:40:36 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337227/ https://lwn.net/Articles/337227/ walken <div class="FormattedComment"> Try with CONFIG_USB_EHCI_TT_NEWSCHED=y<br> <p> I can't figure out why this is not the default, though... :/<br> </div> Fri, 12 Jun 2009 08:40:06 +0000 DE-9 https://lwn.net/Articles/337222/ https://lwn.net/Articles/337222/ ncm <div class="FormattedComment"> That's "DB-25" and "DE-9". "D" is the shape, "B" or "E" the size, and "25" or "9" the number of pins. A "DA shell" has room for lots of pins, a "DF" not many.<br> </div> Fri, 12 Jun 2009 07:36:36 +0000 Say what? https://lwn.net/Articles/337218/ https://lwn.net/Articles/337218/ yootis <div class="FormattedComment"> <p> <p> Completely wrong. Gigabit ethernet is 1 gigabit in each direction simultaneously. Fiber or copper doesn't matter, they get the same speed. <br> <p> I routinely get 960 megabits per second in each direction at the same time.<br> <p> <p> </div> Fri, 12 Jun 2009 06:48:45 +0000 Say what? https://lwn.net/Articles/337214/ https://lwn.net/Articles/337214/ shalem <div class="FormattedComment"> I doubt you have 125MegaByte/second NIC's unless you've got fiber using NIC's, Gigabit over coper is a sham and only does 500 Mbit (which they<br> multiplied by 2 as its fullduplex, with that reasoning 100Mbit nics are 200Mbit). Yip, another score for the marketing department.<br> <p> <p> </div> Fri, 12 Jun 2009 06:40:06 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337198/ https://lwn.net/Articles/337198/ balbir_singh <div class="FormattedComment"> I wish the XHCI spec was open. No one can validate the driver without signing an agreement.Rant, Rant, Rant!<br> </div> Fri, 12 Jun 2009 02:15:45 +0000 Linux first to offer USB 3.0 driver (Linux Devices) https://lwn.net/Articles/337194/ https://lwn.net/Articles/337194/ mikov <div class="FormattedComment"> Oh good. Now all that is left to do is to fully support USB 2.0 and we are ready to enter the future.<br> <p> USB 1.0 devices (namely USB-&gt;Serial converters) still don't work reliably when plugged into a 2.0 hub. I suppose now that we have glorious USB 3.0 support they will cease to function completely... I realize that I sound cynical and bitter, but that's because I am. <br> </div> Fri, 12 Jun 2009 01:28:40 +0000 Say what? https://lwn.net/Articles/337184/ https://lwn.net/Articles/337184/ sbergman27 <div class="FormattedComment"> FWIW, if I don't get at least 30MB/s from a mechanical USB 2.0 drive, I start looking around for what the problem is.<br> <p> The purpose of my original post was to point out how quoting bits/s instead of bytes/s causes great confusion for essentially no benefit. Mbps? MBps? Divide by 10? Divide by 8? 7 bit? 8 bit? Start bit? Stop bit? Parity bit? Frame bits?<br> <p> I've dealt with this crap for 21 years or more, and it's time for the madness to end. <br> <p> Computone? Digiboard? Okidata? TI? Do you cross 2 and 3? 4 and 5? Tie together 4, 8 and 20? Does 7 go to 7... or to 5? DB25? DB9? God save us if it's a conversion cable. Or a conversion crossover cable. <br> <p> We've dumped most of the insanity. But let's get rid of the rest. Stop my nightmares.<br> <p> Just tell me how many Megabytes Per Second the damned interface is nominally supposed to transfer and I'll be as happy as a clam at high tide. <br> </div> Thu, 11 Jun 2009 23:10:51 +0000 Say what? https://lwn.net/Articles/337183/ https://lwn.net/Articles/337183/ drag <div class="FormattedComment"> * This. *<br> <p> This is the answer.<br> <p> The guy f*d up on the math, did a typo, or simply lacked understanding. I regularly see speeds of 10-20MBps on fast flash devices over USB 2.0.<br> <p> Sure there is overhead to maintaining USB devices, but your looking at 10-20% overhead, not 90%. That's worse then Wifi which your lucky to get data transfer at 50% of the speed your connected at.<br> </div> Thu, 11 Jun 2009 22:51:58 +0000