Re: [CFR]rt2860 driver with kld module

From: Aleksandr Rybalko <ray_at_dlink.ua>
Date: Thu, 17 Mar 2011 17:53:21 +0200
On Thu, 17 Mar 2011 17:17:17 +0200
"Sergey V. Dyatko" <sergey.dyatko_at_gmail.com> wrote:

>> On Thu, 17 Mar 2011 13:26:16 +0200
>> Aleksandr Rybalko <ray_at_dlink.ua> wrote:
>> 
>> > Hi again!
>> > 
>> > On Wed, 16 Mar 2011 20:44:05 +0200
>> > Aleksandr Rybalko <ray_at_ddteam.net> wrote:
>> > 
>> > >> Hi,
>> > >> 
>> > >> On Wed, 16 Mar 2011 18:06:59 +0100
>> > >> Jan Henrik Sylvester <me_at_janh.de> wrote:
>> > >> 
>> > >> > Hello!
>> > >> > 
>> > >> > On 01/-10/-28163 20:59, Aleksandr Rybalko wrote:
>> > >> > > 3. RT2860 802.11n controller authors Damien Bergamini and
>> > >> > > Alexander Egorenkov
>> > >> > > http://my.ddteam.net/files/2011-03-14_rt2860.patch only
>> > >> > > modification to work with RT2872 (embedded to RT305[02] F)
>> > >> > > wrote by me.
>> > >> > 
>> > >> > Is this supposed to work on its own bringing support for Ralink
>> > >> > 2860 to FreeBSD? (The one in the Asus EeePC 901/1000H according
>> > >> > to http://wiki.freebsd.org/AsusEee .)
>> > >> > 
>> > >> > > Remaining issues:
>> > >> > > 	RT2860 support only Open(no crypto) mode for RT305[02]F
>> > >> > 
>> > >> > Does this mean WPA should work for RT2860? (Just not for the
>> > >> > chips you added support for?)
>> > >> 
>> > >> As I know this driver support WPA, but best place to read/ask about
>> > >> this on this thread http://forums.freebsd.org/showthread.php?t=7010
>> > >> 
>> > >> > 
>> > >> > If this is supposed to bring RT2860 support to FreeBSD in
>> > >> > general:
>> > >> > 
>> > >> > - Should it work on amd64 and i386?
>> > >> > - Should it work on 8.2-RELEASE?
>> > >> > - Should it work as a module?
>> > >> > 
>> > >> > In case this is all supposed to work: I tried to create a module
>> > >> > on 8.2-RELEASE/amd64 by adding a simple
>> > >> > sys/modules/rt2860/Makefile (as I did not want to modify my
>> > >> > stock 8.2-RELEASE kernel). I only got to:
>> > >> > 
>> > >> > In file included from 
>> > >> > /usr/src/sys/modules/rt2860/../../dev/rt2860/rt2860.c:19:
>> > >> > _at_/dev/rt2860/rt2860_softc.h:52:24: error: opt_rt2860.h: No such
>> > >> > file or directory
>> > >> > 
>> > >> > I do not find opt_rt2860.h anywhere in your patches. Assuming it
>> > >> > was optional, I have commented it out only to get to:
>> > >> > 
>> > >> > cc1: warnings being treated as errors
>> > >> > /usr/src/sys/modules/rt2860/../../dev/rt2860/rt2860_pci.c:63:
>> > >> > warning: 'rt2860_pci_detach' declared 'static' but never defined
>> > >> > 
>> > >> > Probably, I am doing something unsupported here (especially as
>> > >> > there is no if_rt2860_pci.c, which I would expect).
>> > >> 
>> > >> No, it's me. Too much data, so I a little confused here.
>> > >> Patch targeting to start support RT3052F/RT3050F System on Chip.
>> > >> Which main part for embedded systems like routers, AP etc.
>> > >> 
>> > >> To get it compiled need remove 'rt2860_pci_detach' declaration,
>> > >> because pci and obio interfaces have same detach device methods
>> > >> (rt2860_detach in rt2860.c)
>> > >> 
>> > >> And opt_rt2860.h must be defined in sys/conf/options
>> > >> <code>
>> > >> # options for the Ralink RT286x driver (rt2860)
>> > >> RT2860_DEBUG            opt_rt2860.h
>> > >> </code>
>> > >> 
>> > >> > 
>> > >> > Cheers,
>> > >> > Jan Henrik
>> > >> 
>> > >> I will remake patch tomorrow.
>> > 
>> > Fixed patch here http://my.ddteam.net/files/2011-03-17_rt2860.patch
>> > 
>> include "opt_rt2860.h" still here (rt2860_softc.h), I removed it, write
>> simple Makefile:
>> 
>> laptop# cat Makefile
>> # $FreeBSD$
>> 
>> .PATH: ${.CURDIR}/../../dev/rt2860
>> 
>> KMOD=   if_rt2860
>> SRCS=   rt2860.c
>> SRCS+=  device_if.h bus_if.h pci_if.h
>> .include <bsd.kmod.mk>
>> 
>> laptop# pwd
>> /usr/src/sys/modules/rt2860
>> laptop# make
>> Warning: Object directory not changed from
>> original /usr/src/sys/modules/rt2860 _at_ -> /usr/src/sys
>> machine -> /usr/src/sys/i386/include
>> x86 -> /usr/src/sys/x86/include
>> awk -f _at_/tools/makeobjops.awk _at_/kern/device_if.m -h
>> awk -f _at_/tools/makeobjops.awk _at_/kern/bus_if.m -h
>> awk -f _at_/tools/makeobjops.awk _at_/dev/pci/pci_if.m -h
>> cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE
>> -nostdinc   -I. -I_at_ -I_at_/contrib/altq -finline-limit=8000 --param
>> inline-unit-growth=100 --param large-function-growth=1000 -fno-common
>> -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx
>> -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float -ffreestanding
>> -fstack-protector -std=iso9899:1999 -fstack-protector -Wall
>> -Wredundant-decls -Wnested-externs -Wstrict-prototypes
>> -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
>> -Wno-pointer-sign -fformat-extensions
>> -c /usr/src/sys/modules/rt2860/../../dev/rt2860/rt2860.c ld  -d
>> -warn-common -r -d -o if_rt2860.kld rt2860.o :> export_syms awk
>> -f /usr/src/sys/modules/rt2860/../../conf/kmod_syms.awk if_rt2860.kld
>> export_syms | xargs -J% objcopy % if_rt2860.kld ld -Bshareable  -d
>> -warn-common -o if_rt2860.ko if_rt2860.kld objcopy --strip-debug
>> if_rt2860.ko
>> laptop# kldload ./if_rt2860.ko
>> kldload: can't load ./if_rt2860.ko: No such file or directory
>> 
>> dmesg: link_elf: symbol rt2860_io_mac_write undefined

Yeah, this is because you don't expect what driver have more than one source file.


>> 
>> p.s. let me know if you need any additional information
>> 
>> > >> 
>> > >> Thanks for your report and questions?
>> > >> 
>> > >> -- 
>> > >> Aleksandr Rybalko <ray_at_ddteam.net>
>> > 
>> > Many thanks for help.
>> > 
>> 
>> 
>> 
>> --
>> ---------------------------------------------------------------------------------------
>> Sergey V Dyatko  aka tiger   | Sergey.Dyatko_at_gmail.com
>> /"\   ASCII Ribbon Campaign  | FreeBSD Since 4.x
>> \ / - NO HTML/RTF in e-mail  | http://tiger.bsd.by
>>  X  - NO Word docs in e-mail | XMPP: tiger_at_jabber.org.by 
>> / \  
>> ---------------------------------------------------------------------------------------


new patch with kld support http://my.ddteam.net/files/2011-03-17_1_rt2860.patch

I don't expect so much interest for this device on a PCI bus. And forget to include useful parts like kld Makefile.
Seems now this can compile and work :)

Thank you.

-- 
Alexandr Rybalko <ray_at_dlink.ua> 
aka Alex RAY <ray_at_ddteam.net>
Received on Thu Mar 17 2011 - 14:53:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:12 UTC