Re: CFT/CFR: NDIS(4) USB support



On Sun, Aug 24, 2008 at 12:09:32PM +0200, Paul B. Mahol wrote:
On 8/23/08, Paul B. Mahol <onemda@xxxxxxxxx> wrote:
On 7/24/08, Weongyo Jeong <weongyo.jeong@xxxxxxxxx> wrote:
Hello All,

It looks that NDIS USB support works for some USB wireless drivers so
I'd like to call for tests to everyone who interested in NDIS for
FreeBSD. I have 7 USB wireless adapters and with current NDIS USB
support 4 of 7 adapters are supported. The detail is as follows:

Working:
U-Khan UW-2054i (Marvell Libertas chipset)
Netgear WG111v2 (Intersil/Prism chipset) - supported by upgt(4)
EFM-IPTIME G054U2 (Ralink RT2573) - supported by rum(4)
ZCOM XM-142 (Intersil/Prism chipset, another revision)

Not working:
Unicorn WL-54G (ZyDAS zd1211b chipset) - supported by zyd(4)
Attaching is working sucessfully and LED works fine but it's not
UPed.
Zyxel G-200v2 (ZyDAS zd1211 chipset) - supported by zyd(4)
The sympotom is same with Unicorn WL-54G.
SMCWUSBT-G-CA EZ 108Mbps (Atheros chipset)
This NDIS driver uses some functions which aren't supported by
current NDIS implementation. So I can't test it now.

The patch for HEAD can be found at:

http://people.freebsd.org/~weongyo/patch_ndisusb_20080724.diff

When you try to test this patch, you should make sure that ndiscvt(8)
is updated. Some instructions like below could be helpful:

# cd /usr/src
# patch -p0 < ~/patch_ndisusb_20080724.diff

Here it asked me politely what to do:
I dont have share/man/man4/man4.i386/ndis.4
but I have share/man/man4/ndis.4

# cd usr.sbin/ndiscvt
# make && make install
# cd ~/
# ndisgen ABC.inf ABC.sys
# cd /usr/src/sys/modules/ndis
# make
# kldload ./ndis.ko

Here I get:
link_elf: symbol M_USBDEV undefined


Workaround is to build custom kernel with usb stuff ..

I tested Edimax EW-7318Ug and EW-7318USg, both partialy supported
with rum(4), mostly because of rx/tx low signals and crashing on
SMP kernel.

I got following kernel output on console:

no match for ZwWriteFile
no match for ZwCreateFile
no match for ZwReadFile

But both cards works fine, scan outputs are working and signal strength is
great (comparing with rum(4)) Also association and data transfer works.
It appears to deadlock if device is detached before module (rt73_sys.ko
in this case) is unloaded, looks like usb problem to me.

Before it got to HEAD, I would like if newly introduced linking bug got fixed.

Thanks.

It's great to hear success! In a case of `no match for ...' errors you
can ignore those if you didn't meet a panic. It's only harmful when NDIS
driver call it so I think your NDIS driver don't use. These functions
are on TODO list to implement and can be supported soon.

Currently detaching NDIS driver could make some problems like deadlocks
or panics and AFAIK it's related with aborting USB pipe(IRP cancelling)
and locking. It's one of problems to fix hard due to the form of
current USB framework (requiring Giant).

regards,
Weongyo Jeong

and kernel will not load it.
I have custom kernel without usb stuff (it is loaded via module)
The only place where M_USBDEV is defined is in sys/dev/usb/usb.h
and I'm somehow at dead end.

# cd /usr/src/sys/modules/if_ndis

I can load new if_ndis.ko with old ndis.ko but that is not usefull.

# make
# kldload ./if_ndis.ko
# kldload ~/ABC_sys.ko

It seems that the current status of NDIS USB support is beta status so
I'm not sure I've implemented all features yet that it needs more
debugging and stability. I don't have all H/Ws for testing! :)
Please tell me if you were successful or you failed though it looks
it's not easy to debug NDIS .sys binary using disassembler.

Any help and comments are welcome. Thanks.

regards,
Weongyo Jeong
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: isa0060/serio0 problems -WAS- Re: Asus MB and 2.6.12 Problems
    ... Use a HIGHMEM enabled kernel. ... Linux Plug and Play Support v0.97 Adam Belay ... Non-volatile memory driver v1.2 ... ehci_hcd 0000:00:13.2: new USB bus registered, ...
    (Linux-Kernel)
  • 2.6.15: usb storage device not detected
    ... dmesg and lspci -vv output for the usb bits attached. ... # ACPI Support ... # Generic Driver Options ...
    (Linux-Kernel)
  • Re: Linux 2.6.13-rc4
    ... > ugly that I won't even show it (the kernel list would eat it as too big ... RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize ... ehci_hcd 0000:00:02.2: new USB bus registered, ... # ACPI Support ...
    (Linux-Kernel)
  • RE: PATCH: Further aacraid work
    ... currently unanswered email "error recovery and command completion" on ... > Enabling unmasked SIMD FPU exception support... ... > usbcore: registered new driver usbfs ... > USB Universal Host Controller Interface driver v2.2 ...
    (Linux-Kernel)
  • Re: PATCH: Further aacraid work
    ... > Enabling unmasked SIMD FPU exception support... ... > ESR value after enabling vector: ... > usbcore: registered new driver usbfs ... > USB Universal Host Controller Interface driver v2.2 ...
    (Linux-Kernel)