Fw: problem with udbp and netgraph in the usb LAN
1801
1801 at 083.pfr.ru
Wed Feb 2 21:52:51 PST 2005
> 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
More information about the freebsd-usb
mailing list