Re: [usbip-devel] A strange problem happened.
Status: Alpha
Brought to you by:
hirofuchi
From: Takahiro H. <hir...@us...> - 2007-08-16 12:43:26
|
Hi, Yes. You need to support multiple virtual controllers. - In vhci_init(), platform_device_register() registers a non-plug-and-play device to the kernel. This is corresponding to a virtual host controller. You need to change here to call platform_device_register(pdev) several times as needed. So, pdev would be a member of a array. - "the_controller" is also corresponding to a host controller. So, you need more. But, I think it can be removed by cleaning up code. For instance, you can get it from pdev. usb_hcd = platform_get_drvdata(pdev); vhci_hcd = hcd_to_vhci(usb_hcd); Regards, Takahiro 2007/8/14, Lun Jiang <wo...@gm...>: > Sorry I just found that I misread the stub part. Don't know how I got the > impression. > But the question still remains as if I should change "the_controller" into > an array? Or is there a better way? > > > On 8/13/07, Lun Jiang <wo...@gm...> wrote: > > Hi, thanks for the replies. > > Actually we need to use usbip for a project which will map hundreds of > small usb devices on a server like PC that is used to control them all. > > I'm trying to alter the code to make usbip work for more virtual devices > on the "client" side defined by usbip project(the side running usbip > --attach <ip> <busid>) > > I have followed the previous hint Takahiro gave out and ended up reading > vhci.h and found the total manager of all virtual devices is > > line 110:extern struct vhci_hcd *the_controller; > > I wonder what is the relation of this with the "stub" mentioned in > Takahiro's comment. > > My understanding is that stub is the controller remaining on server side. > > Because I need to expand the number of virtual usb devices on ONLY the > client side, I wonder if I just need to change > > the_controller > > into an array to accommodate more? > > > > Lun > > > > > > > > On 8/2/07, Robert Leibl < rob...@gm...> wrote: > > > On 02.Aug.07 , Takahiro Hirofuchi wrote: > > > > Hello, > > > > > > > > > > > > The maximum number of USB ports may be defined in the USB > specification. > > > > Please check it. I think its value will not be large. > > > > The Linux USB drivers are based on it. > > > > > > The maximum number of ports are defined in 'inlcude/linux/usb.h' > > > Here is the relevant part of the file. > > > > > > /* This is arbitrary. > > > * From USB 2.0 spec Table 11-13, offset 7, a hub can > > > * have up to 255 ports. The most yet reported is 10. > > > * > > > * Current Wireless USB host hardware (Intel i1480 for example) allows > > > * up to 22 devices to connect. Upcoming hardware might raise that > > > * limit. Because the arrays need to add a bit for hub status data, we > > > * do 31, so plus one evens out to four bytes. > > > */ > > > #define USB_MAXCHILDREN (31) > > > > > > > > > I personally think this is a bit strange. Although the standard allows > 255 > > > ports, it is set to 31 (so it will fit into 4 bytes). > > > > > > > > > > > > > > If you want to support more usbip connections concurrently, > > > > please modify vhci_hcd driver code to support multiple root-hubs. > > > > The current implementation initializes only one virtual root-hub, > > > > which has only VHCI_NPORS virutal ports. > > > > This modification will be done easiliy by adding small amount of code > > > > into the initialization part of vhci_hcd. > > > > > > This change could even be made automatically. If on a connection of a > device > > > the number of used ports is e.g. (VHCI_NPORTS - 1), we register a new > root > > > hub. > > > However, we would have to check, if the driver can support multiple > hubs... > > > > > > > > > > > Anyway, why do you need so many virtual ports? > > > > You will not able to get good perfomance when many devices are > connected. > > > > > > > > Regards, > > > > > > > > Takahrio > > > > > > > > [...] > > > > > > regards > > > robert > > > > > > -- > > > If we don't believe in freedom of expression for people we despise, we > > > don't believe in it at all. > > > -- Noam Chomsky (b. 1928) > > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by: Splunk Inc. > > > Still grepping through log files to find problems? Stop. > > > Now Search log events and configuration files using AJAX and a browser. > > > Download your FREE copy of Splunk now >> http://get.splunk.com/ > > > _______________________________________________ > > > usbip-devel mailing list > > > usb...@li... > > > > https://lists.sourceforge.net/lists/listinfo/usbip-devel > > > > > > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > usbip-devel mailing list > usb...@li... > https://lists.sourceforge.net/lists/listinfo/usbip-devel > > |