Bug #316

Toshiba Satellite M50 ...

Added by nonsolosoft almost 8 years ago. Updated almost 8 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

Ferruccio Zamuner wrote:
> Ferruccio Zamuner wrote:
>
>> Now it's more clear.
>> ath is only the wifi interface, the cable one is:
>>
>> Marvell 88E836 Yukon PCI-E Fast Ethernet Controller
>>
>> and it's not supported by FreeBSD either.
>>
>> Is any if_ndis.ko (project evil) or native support upcoming for DFBSD?
>>
>>
>> Thank you in advance, \fer
>
>
> Found: http://www.shiningsilence.com/dbsdlog/index.php/2004/07/30/558.html
>
> Now I'll try, thank you -Matt.

ndiscvt first fails for UNICODE in yk51x86.inf, I've used iconv:

iconv -c -f CSUNICODE -t US-ASCII yk51x86.inf > yk51x86_a.inf

then ndiscvt gives me more parse errors and I've add comment to remove
for following lines:

;HKR, Ndi\Params\WakeUpModeCap_A\enum, "25", 0, %Magic Packet%
;HKR, Ndi\Params\WakeUpModeCap_A\enum, "26", 0, %Pattern Match%
;HKR, Ndi\Params\WakeUpModeCap_A\enum, "27", 0, %Mag Pack Patt Match%
;HKR, Ndi\Params\WakeUpModeCap_A\enum, "28", 0, %Link Change%

I report them here because I don't know how if they are to fix or to remove.

Now ndiscvt completes, but make fails:

% cd /usr/src/sys/dev/netif/ndis
% make
% make clean
% ndiscvt -s /usr/local/modules/if_ndis/yk51x86.sys -i /usr/local/modules/if_ndis/yk51x86.inf -n yk5 -o /usr/obj/usr/src/sys/dev/netif/ndis/ndis_driver_data.h
% make
[...]
cc -O -pipe -mtune=pentiumpro -D_KERNEL -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -ansi -DKLD_MODULE -nostdinc -I. -I@
-I@/../include -I/usr/include -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common -ffreestanding -mpreferred-stack-boundary=2 -fno-stack-protector -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -ansi -c /usr/src/sys/dev/netif/ndis/if_ndis.c
In file included from /usr/src/sys/dev/netif/ndis/if_ndis.c:87:
./ndis_driver_data.h:3487: error: excess elements in char array initializer
./ndis_driver_data.h:3487: error: (near initialization for `ndis_regvals[1011].nc_val')
./ndis_driver_data.h:3488: warning: braces around scalar initializer
./ndis_driver_data.h:3488: warning: (near initialization for `ndis_regvals[1011].nc_val[0]')
./ndis_driver_data.h:3488: warning: initialization makes integer from pointer without a cast
./ndis_driver_data.h:3488: error: initializer element is not computable at load time
./ndis_driver_data.h:3488: error: (near initialization for `ndis_regvals[1011].nc_val[0]')
[...]

I leave a complete archive at:

http://vola.diff.org/dfbsd_yk51x86.tgz

with:

-rwxr-xr-x 0 root wheel 230400 12 Set 19:36 usr/local/modules/if_ndis/yk51x86.sys
-rw-r--r-- 0 root wheel 164981 12 Set 19:36 usr/local/modules/if_ndis/yk51x86.inf
-rw-r--r-- 0 root wheel 2122109 12 Set 19:48 usr/obj/usr/src/sys/dev/netif/ndis/ndis_driver_data.h
-rw-r--r-- 0 root 1001 890828 12 Set 19:49 tmp/err.log

The last is full error log from make.

I'll appreciate any hint or help.

Thank you in advance, \fer

History

#1 Updated by dillon almost 8 years ago

NDIS is a hit or miss affair.

Try posting the pciconf -l output, we might be able to add the chipset
to an existing driver.

-Matt

#2 Updated by nonsolosoft almost 8 years ago

Matthew Dillon wrote:
> NDIS is a hit or miss affair.
>
> Try posting the pciconf -l output, we might be able to add the chipset
> to an existing driver.
>
> -Matt

ok:

none5@pci2:0:0: class=0x020000 card=0xff001179 chip=0x435111ab rev=0x10 hdr=0x00
vendor = 'Marvell Semiconductor (Was: Galileo Technology Ltd)'
device = '88E8036 Yukon PCI-E Fast Ethernet Controller'
class = network
subclass = ethernet

and full pciconf -lv at:

http://vola.diff.org/dfbsd_pciconf_on_ToshibaM50.txt

Thank you in advance, \fer

#3 Updated by sepherosa almost 8 years ago

On 9/12/06, Ferruccio Zamuner <> wrote:
> Matthew Dillon wrote:
> > NDIS is a hit or miss affair.
> >
> > Try posting the pciconf -l output, we might be able to add the chipset
> > to an existing driver.
> >
> > -Matt
>
> ok:
>
>
> none5@pci2:0:0: class=0x020000 card=0xff001179 chip=0x435111ab rev=0x10 hdr=0x00
> vendor = 'Marvell Semiconductor (Was: Galileo Technology Ltd)'
> device = '88E8036 Yukon PCI-E Fast Ethernet Controller'
> class = network
> subclass = ethernet
>
> and full pciconf -lv at:
>
> http://vola.diff.org/dfbsd_pciconf_on_ToshibaM50.txt

I will try to port msk(4) from OpenBSD, hope it will work for you.

Best Regards,
sephe

#4 Updated by corecode almost 8 years ago

sephe ported msk from openbsd, could you please try

<http://leaf.dragonflybsd.org/~sephe/msk.tbz> and
<http://leaf.dragonflybsd.org/~sephe/sk.diff> ?

#5 Updated by sepherosa almost 8 years ago

Ferruccio Zamuner has tested it, it works as he reported.

There are still things that I want to further investigate:
1) It is reported unloading the module will panic the system
2) Jumbo buffer is not enabled, since tester's NIC (YukonII FE typed) probably
doesn't support it
3) Currently the card uses ukphy(4), though the PHY module is produced by
Marvell and type is 88E3082, I am wandering whether it is necessary at all to
change e1000phy(4) to operate at 10/100Mbit only
4) Test this driver with some YukonII GigE cards ('Ancient' is going to do that :-)

Thank Ferruccio Zamuner very much, for his kind testing and timely feedback :-D

#6 Updated by nonsolosoft almost 8 years ago

Yes, I've tested and it seems works very well.
I'll continue to use and test exchanging info with sephe.

Thank you. \fer

Also available in: Atom PDF