Date: Thu, 03 Feb 2005 08:52:46 +0300 From: 1801 <1801@083.pfr.ru> To: freebsd-usb@freebsd.org Subject: Re: Fw: problem with udbp and netgraph in the usb LAN Message-ID: <opsllw98r4h99c6v@w1801.opfr> In-Reply-To: <OF476153CF.58030772-ONC3256F9D.001D3606-C3256F9D.001D4627@083.pfr.ru> References: <OF476153CF.58030772-ONC3256F9D.001D3606-C3256F9D.001D4627@083.pfr.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Sat, Jan 29, 2005 at 06:23:45PM +0300, Kiselev wrote: >> On Thu, Jan 27, 2005 at 09:54:14AM +0300, 1801 wrote: >> > Hi, all >> > I have usb2usb link cable (no name)and try make usb network on two >> > hosts (FreeBSD 5.3). >> > I do everything as written in man 4 udbp: >> > kldload netgraph >> > kldload udbp >> > Result : >> > udbp0: Prolific Technology Inc. PL2302 Host-Host interface, rev >> > 1.00/0.01, addr2, iclass 255/0. >> > Then make: >> > ngctl mkpeer udbp0: iface data inet, ifconfig ng0 10.0.0.1 10.0.0.2 on > >> > both hosts. > > I assume that you use ifconfig ng0 10.0.0.2 10.0.0.1 on the remote host. > >> > How to make steady connection? >> > Thanks in advance, Yuri. >> >> >> What kind of USB controller do you have? >> >> Looking through the code I found this problem: >> >> If a transmitted packet has a length that is divisible by >> >> "MaxPacketLength" then udbp_in_transfer_cb() will not be called. In >> >> other words the transmission will stop. So when udbp is sending >> >> packets, the flag USBD_FORCE_SHORT_XFER must be set? >> >> >> >> -- >> >> HPS >> >> My USB controller is: >> ohci0: <SiS 5571 USB controller> mem 0xee000000-0xee000fff irq 20 at >> device 2.2 >> on pci0 >> ohci0: [GIANT-LOCKED] >> usb0: <SiS 5571 USB controller> on ohci0 >> ohci1: <SiS 5571 USB controller> mem 0xee001000-0xee001fff irq 23 at >> device 2.3 >> on pci0 >> ohci1: [GIANT-LOCKED] >> usb1: <SiS 5571 USB controller> on ohci1. >> How to execute the idea set the flag USBD_FORCE_SHORT_XFER? >> I do not found anything in the(sysctl, rc.conf, GENERIC), and what to >> correct in >> the /usr/src/sys/dev/usb/ohci.c: if ((flags & USBD_FORCE_SHORT_XFER) > && >> i don't know. >> Thanks in advance, Yuri >> > > In the file /usr/src/sys/dev/usb/udbp.c: > > Add "#define USB_DEBUG" at the beginning. > > In the function udbp_setup_out_transfer() > > change: > > (void) usbd_setup_xfer( sc->sc_bulkout_xfer, > sc->sc_bulkout_pipe, > priv, > sc->sc_bulkout_buffer, > pktlen, > USBD_SHORT_XFER_OK, > UDBP_TIMEOUT, > udbp_out_transfer_cb); > > into: > > (void) usbd_setup_xfer( sc->sc_bulkout_xfer, > sc->sc_bulkout_pipe, > priv, > sc->sc_bulkout_buffer, > pktlen, > USBD_SHORT_XFER_OK|USBD_FORCE_SHORT_XFER, > UDBP_TIMEOUT, > udbp_out_transfer_cb); > > Then "cd /usr/src/sys/modules/udbp" and "make clean" and "make all > install > clean" > > Unplug your device. Reload the udbp module or reboot the computer. > > Run "sysctl hw.usb.udbp.debug=15", plug your device and try again. > > -- > HPS I have made it, but the problem has remained. Now ping disappears after 2 minutes. P.S. When I run ' sysctl hw.usb.udbp.debug=15 ' sysctl: unknown oid 'hw.usb.udbp.debug' -- Kiselev Yuri
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?opsllw98r4h99c6v>