[gentoo-user] Re: Does USB devices share bandwidth?
张韡武 zhangweiwu at realss.com writes: Hello. My old sparc server have a USB extension card, which provides two USB slots at the back of the machine, driving a USB printer on Slot A. This printer runs at heavy load. because it cannot print the documents as fast as we need, I wish to add another printer. In most casese, we need the two printer working together the same time rather then one after the other. The two USB slots provided by the USB card are both OHCI (some USB 1.x stuff, not USB 2.0). So far it seems one single printer uses up all the USB bandwidth (sometimes printer stop there several seconds wait for signal). What would happen if I put another Printer there? case A: the new printer uses the bandwidth on slot B, both run as fast as if they were the only USB printer; case B: the new printer share bandwidth with the old one, the result is both printer work 1/2 fast, that is equal to not having bought another printer at all. Which one is true? USB is a 'multi drop' serial bus, like rs485. So if 2 devices on the same usb bus use equal bandwidth, the bandwidth available will be less than 1/2 the standards stated throughput. There is always overhead, due to negotiations and arbitration on busses and any form of shared media. Not all USB chips perform up to the usb 2.0 spefication, when robustly benchmarked. (caveat emptor). Drivers and contention for I/O to the kernel can be another common area for under optimiztion of USB. Um you cannot tell how many usb chips and what version of usb they are running by looking at the physical port. To discern more about the details of your usb hardware, ports, chips, busses and versions of usb those chips(firmware support) you need to use some commands like: lsusb and lshw. (lspci and discover) also. on one of my portables, lspci shows: snip 00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f) 00:03.1 USB Controller: Silicon Integrated Systems[SiS] USB 1.0 Controller (rev 0f) 00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f) 00:03.3 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller snip Installing the printers off of (2) separate USB busses that are indeed usb 2.0 compliant should solve your problems. You might need to use different hardware discovery commands on a sparc architecure hth, James -- gentoo-user@gentoo.org mailing list
[gentoo-user] Re: Does USB devices share bandwidth?
Thank you for all the answers so far:) Jarry explained the bandwidth a printer consume cannot be too high for USB 2.0 slots. This knowledge is very helpful, however at this moment the sparc box only have USB 1.x slot, driven by ohci, as I explained. Richard Fish kindly explained the mechanism behind print processing, a printer make take a lot of time to process the data already sent. In my case I completely forgot to mension I was using inkjets, the inkjet takes rastered image data produced by GutenPrint. Thus I assume most image processing is done on the print server, which is usually at 30% load when printing, that means it should be able to handle another printer. Richard also suggested upgrading to a network printer, so far it is a very good solution too for my case. I think James provided most helpful information for my case, and thank you for so detailed and careful explanation. As he suggested I try to look for more hadwar data. It turns that my USB device is not USB 2.0 but I also noticed the two USB slots have diferent membase and IRQ. I wish to compare the sparc station with my desktop. On my x86 desktop there are 4 USB slots, dmesg shows that two UHCI device discovered, further on each device, a uhub of two slots are discovered. From my understanding, the situation of Sharing bandwidth James described should happen between two USB devices on the one same chip, on one uhub. For two devices, they perhaps don't share resource. In my case, my two USB 1.0 slots seems to be hot using a uhub, shall the two printer compete for resource on this situation too? Another small question I hope someone with professional knowledge can help. I was told ECP/bidirectional printer cable can handle 2Mbps data transfer, that seems to be suggesting using parallel cable is as good as using USB1 cable (as USB1 is supposed to handle 1.2Mbps ony), or even better. Is it true? Here is my lsusb when I just tried to plug another USB printer and make all slots occupied. # lsusb Bus 002 Device 001: ID : Bus 002 Device 002: ID 03f0:1617 Hewlett-Packard Bus 001 Device 001: ID : Bus 001 Device 002: ID 04b8:0005 Seiko Epson Corp. Stylus Printer Here is part of my dmesg host/usb-ohci.c: USB OHCI at membase 0x1ff0052, IRQ 10,7d4 host/usb-ohci.c: usb-02:02.0, NEC Corporation USB usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 3 ports detected host/usb-ohci.c: USB OHCI at membase 0x1ff00522000, IRQ 10,7d5 host/usb-ohci.c: usb-02:02.1, NEC Corporation USB (#2) usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected hub.c: new USB device 02:02.0-1, assigned address 2 usb.c: USB device 2 (vend/prod 0x4b8/0x5) is not claimed by any active driver. usb.c: registered new driver hid hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik [EMAIL PROTECTED] hid-core.c: USB HID support drivers usb.c: registered new driver usblp printer.c: usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x04B8 pid 0x0005 printer.c: v0.13: USB Printer Device Class driver -- gentoo-user@gentoo.org mailing list
[gentoo-user] Re: Does USB devices share bandwidth?
This is really making me puzzle: sappho ~ # lspci | grep USB :02:02.0 USB Controller: NEC Corporation USB (rev 41) :02:02.1 USB Controller: NEC Corporation USB (rev 41) :02:02.2 USB Controller: NEC Corporation USB 2.0 (rev 02) When the kernel boots it shows me that only ohci device is discovered, someone suggested that ohci only support USB 1.x. Now lspci shows the card has USB 2.0. I don't understand, does it work in the way that the card either work in 2.0 mode with one device, or USB 1.0 with two separate devices? What if I remove OCHI and add back only UHCI driver in the kernel? -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] Re: Does USB devices share bandwidth?
On 6/23/06, 张�|武 [EMAIL PROTECTED] wrote:Another small question I hope someone with professional knowledge can help. I was told ECP/bidirectional printer cable can handle 2Mbps datatransfer, that seems to be suggesting using parallel cable is as good asusing USB1 cable (as USB1 is supposed to handle 1.2Mbps ony), or evenbetter. Is it true?Low speed devices like mouse, keyboard uses 1.5Mbps, printer should use 12Mbps on USB 1.1. Definitely better than ECP...On 6/23/06, 张�|武 [EMAIL PROTECTED] wrote: This is really making me puzzle:sappho ~ #lspci | grep USB:02:02.0 USB Controller: NEC Corporation USB (rev 41):02:02.1 USB Controller: NEC Corporation USB (rev 41):02:02.2 USB Controller: NEC Corporation USB 2.0 (rev 02)Use lspci -v | grep USB, that should give you also information if it's OHCI, UHCI or EHCI (there are 3 standards, not only two). OHCI is 1.1 EHCI/UHCI is two different standards for 2.0, depends on hardware vendor. When the kernel boots it shows me that only ohci device is discovered,someone suggested that ohci only support USB 1.x. Now lspci shows thecard has USB 2.0. I don't understand, does it work in the way that thecard either work in 2.0 mode with one device, or USB 1.0 with twoseparate devices?What if I remove OCHI and add back only UHCI driver in the kernel? You can leave both enabled in the kernel. OHCI will be used if you connect 1.1 device, EHCI/UHCI (depends on which you discover with lspci -v) will be used with 2.0 devices. Caster