Sponsored Content
Full Discussion: Could USB ever take over PCI
Special Forums Hardware Could USB ever take over PCI Post 302867201 by lupin..the..3rd on Wednesday 23rd of October 2013 04:15:38 PM
Old 10-23-2013
Quote:
Originally Posted by Lost in Cyberia
So if USB is such a mediocre protocol for electricity, transfer rates, and lack of DMA, why/how is it the most universal and popular? Why isn't firewire, or thunderbolt made standard? Proprietary reasons?

Mainly, it's politics.


Yes, Firewire is superior to USB1/2 in every metric; throughput, latency, bus power, number of devices, etc. Plus Firewire is more reliable and compatible than USB, since Firewire devices do not require any drivers to be installed in your OS - USB on the other hand requires drivers for every single USB device.


USB and firewire both came about in the mid 1990's. USB was developed by a consortium led by intel. Firewire was developed by Apple.

For the first iteration of each, they did not compete. USB was only 1.5 Mbits, and Firewire was 400 Mbits. No comparison. USB was purely for keyboards, mice, joysticks, and other low speed devices.


The next iteration of USB, version 2.0, brought a large speed increase, from 1.5 Mbits to 480 Mbits. At first glance, one might think that USB2's 480 Mbits is faster than Firewire's 400 Mbits. Not in the real world however, where Firewire would deliver a sustained 38 MB/s while USB2 could barely manage 30 MB/s.


But back to the reason that USB became ubiquitous, while Firewire was more of a niche product: Politics.


Intel, having played a lead role in the development of USB, had a vested interest in USB's success. So they integrated a USB host controller into every single motherboard chipset. This gave every motherboard out there USB ports as standard, built-in with the motherboard. Firewire on the other hand, required the consumer to add a PCI card to their machine to gain Firewire ports. This immediately gives USB a market penetration advantage.


The second prong of intel's attack was on laptops. Intel added Firewire to laptop chip sets, but did so in a very crippled manner. Instead of using a standard firewire host port, they used a power-less device port. So the mini firewire port you find on many laptops does not provide ANY bus power at all - you're required to use a separete power adapter. Imagine if laptop makers put micro-USB device ports on laptops, and removed the bus power, requiring to plug in a separate A/C adapter to use even a thumb drive! It would be absurd, right? Well that's what they did to cripple Firewire.


So while Firewire is technically superior to USB in every way, intel's politics drove it into a niche role, while the inferior USB became ubiquitous.

Firewire 400 beat USB2 by a large performance margin. Firewire 800 was faster still, delivering triple the real-world performance of USB2. The newly released USB3 however ups the ante. Originally there was talk of Firewire 1600 or Firewire 3200, but that has apparently been scrapped in favor of Thunderbolt.

Personally, the only things I use USB for is keyboard, mouse, and joystick. Everything else is on Firewire 800: DVD burner, hard drives, flat bed scanner, HD Audio mixer, and HD video camera.
 

9 More Discussions You Might Find Interesting

1. BSD

WLAN PCI Cards

Hi! I just wanted to know what network cards are supported in FreeBSD. I have looked at the list of supported cards but I can't find any of them in the stores. Is the list not updated, I would really preciate info about where (in EU, Sweden) I can buy them. /Peter (2 Replies)
Discussion started by: Barfly.se
2 Replies

2. Solaris

Pci Id

How do I get the PCI ID for my Realtek adapter? It's a Solaris x86 installation. (5 Replies)
Discussion started by: kuultak
5 Replies

3. UNIX for Dummies Questions & Answers

bad pci slot?

Hi, im having a problem installing my pci wireless card. Im using knoppix, but my problem is with the mobo i think. im using an older laptop, toshiba satellite 2540 and when i plug in the card i get lights on sometimes. this means its getting power right. so then to install the card into the... (0 Replies)
Discussion started by: jestra
0 Replies

4. UNIX for Dummies Questions & Answers

sun blade 100 test-all frozen at pci@1f,0/usb/c,3

platform: sunblade 100 Solaris 10. When running a test-all from the ok prompt on this new (to me) system, it locks up at pci@1f,0/usb/c,3. It's been there for about 25 minutes. I do have a usb keyboard and mouse attached, both are known good. There is no flash stick/ thumb drive... (0 Replies)
Discussion started by: montana77
0 Replies

5. Linux

PCI Card recognized

I installed PCI Card HP SC44Ge - SAS1068E on my linux CentOS 5.4 is there a way to find out if the PCI is properly installed and recognized by linux. lspci is enough? just to add that PCI card is connected to a tape... also how can I find out driver and firmware version? thanks a... (1 Reply)
Discussion started by: karlochacon
1 Replies

6. UNIX for Dummies Questions & Answers

USB-USB cable between linux and windows computers

Is there an easy way to setup a cross-over cable (USB-USB) between a linux box and a windows PC? My 2 machines are next to each other but I really do not want to keep transfering my files using my USB drive. Thanks! (4 Replies)
Discussion started by: Xterra
4 Replies

7. Programming

help writing pci firmware

For a project that I'm working on I want to write a low level PCI driver, but I can't seem to find any free/cheap documentation on PCI firmware specifications. I came across the "pci firmware specification 3.0" manual but this costs USD $1000 :eek:. I am not developing a commercial product... (13 Replies)
Discussion started by: neur0n
13 Replies

8. Solaris

available PCI slots on v440

How do I find any available PCI slots on a v440? When I run prtconf, I get the following output? But I am not able to make out whether all the PCI slots are used. ================================= IO Devices ================================= Bus Freq Brd Type MHz Slot ... (1 Reply)
Discussion started by: jtamminen
1 Replies

9. Slackware

converting mouse to pci

Need to free up a usb port for webcam. What does xorg.conf look like in order to work if I move mouse to PCI port via a converter plug? (1 Reply)
Discussion started by: slak0
1 Replies
usba(7D)																  usba(7D)

NAME
usba, usb - Solaris USB Architecture (USBA) USB provides a low-cost means for attaching peripheral devices, including mass-storage devices, keyboards, mice, and printers, to a system. For complete information on USB, go to the USB website at http://www.usb.org. USBA supports 126 hot-pluggable USB devices per USB bus. The maximum data transfer rate is 1.5 Mbits (low speed USB 1.x) or 12 Mbits (full speed USB 1.x) or 480 MBits (high speed USB 2.0) Mbits per second (Mbps). USBA adheres to the Universal Serial Bus 2.0 specification and provides a transport layer abstraction to USB client drivers. FILES
Listed below are drivers and modules which either utilize or are utilized by USBA. Drivers in /kernel/drv are 32 bit drivers ( only). Driv- ers in /kernel/drv/sparcv9 or /kernel/drv/amd64 are 64 bit drivers. +------------------------------------+----------------------------------+ | CLIENT DRIVER | FUNCTION/DEVICE | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]hid | HID class | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]hubd | hub class | +------------------------------------+----------------------------------+ |/ker- | mass storage class | |nel/drv/[sparcv9|amd64/]scsa2usb | | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]usbprn | printer class | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]usb_as | audio streaming class | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]usb_ac | audio control class | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]usb_mid | multi-interface device | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]usb- | Edgeport USB to serial port | |ser_edge | | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]ugen | generic USB driver | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]ohci | open host controller driver | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]uhci | universal host controller driver | +------------------------------------+----------------------------------+ |/kernel/drv/[sparcv9|amd64/]ehci | enhanced host controller driver | +------------------------------------+----------------------------------+ +--------------------------------+-----------------------------+ | CLIENT STREAMS MODULES | FUNCTION/DEVICE | +--------------------------------+-----------------------------+ |/kernel/strmod/[sparcv9/]usbkbm | Keyboard | +--------------------------------+-----------------------------+ |/kernel/strmod/[sparcv9/]usbms | Mouse | +--------------------------------+-----------------------------+ |/kernel/strmod/[sparcv9/]usb_ah | audio HID | +--------------------------------+-----------------------------+ +------------------------------------------+----------------+ | HOST CONTROLLER INTERFACE DRIVERS | DEVICE | +------------------------------------------+----------------+ |/kernel/drv/[sparcv9/]ehci | Enhanced HCI | +------------------------------------------+----------------+ |/kernel/drv/[sparcv9/]ohci | Open HCI | +------------------------------------------+----------------+ |/kernel/drv/[sparcv9/]uhci | Universal HCI | +------------------------------------------+----------------+ See attributes(5) for a description of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Architecture |PCI-based systems | +-----------------------------+-----------------------------+ |Availability |SUNWusb | +-----------------------------+-----------------------------+ cfgadm_usb(1M), attributes(5), ehci(7D), hid(7D), hubd(7D), ohci(7D), scsa2usb(7D), uhci(7D), usb_ac(7D), usb_as(7D), usb_mid(7D), usbprn(7D), usbser_edge(7D), ugen(7D), virtualkm(7D) Universal Serial Bus Specification 2.0. System Administration Guide: Basic Administration http://www.sun.com/io NOTES
Booting from USB mass-storage devices is not supported. The messages described below may appear on the system console as well as being logged. All messages are formatted in the following manner: WARNING: Error message... No driver found for device <device_name> (interface <number> node name=<node_name>) The installed Solaris software does not contain a supported driver for this hardware. <number> is the interface number. <name> is either the device path name or the device name. Draining callbacks timed out! An internal error occured. Please reboot your system. If this problem persists, contact your system vendor. 27 June 2005 usba(7D)
All times are GMT -4. The time now is 05:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy