[gentoo-user] Re: Does USB devices share bandwidth?

2006-06-22 Thread James
张韡武 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?

2006-06-22 Thread 张韡武
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?

2006-06-22 Thread 张韡武
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?

2006-06-22 Thread Caster
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