Juha Niskanen wrote:
> Hi Jan,
> 
> I forget mention my defines I add beginin of file:
> /* My configs */
> #define CONFIG_EA8248
> #define CONFIG_FCC1_ENET 1
> #define CONFIG_FCC_LXT971 1
> /* #define CONFIG_RTAI_RTNET_USE_MDIO 1 */
> /* #define PHY_INTERRUPT 1 */
> 
> If I define CONFIG_RTAI_RTNET_USE_MDIO
> I get:
> ~ $ modprobe rtnet
> 
> *** RTnet 0.9.9 - built on Jun  1 2007 12:45:42 ***
> 
> RTnet: initialising real-time networking
> ~ $ modprobe rtipv4
> ~ $ modprobe rtpacket
> ~ $ modprobe rt_loopback
> initializing loopback...
> RTnet: registered rtlo
> ~ $ modprobe rt_mpc8260_fcc_enet
> RTnet: registered rteth0
> rteth0: FCC ENET Version 0.3, 00:06:70:81:04:29
> mii_reg: 600e78e2
> rteth0: Phy @ 0x0, type LXT971 (0x001378e2)
> ~ $
> ~ $ rtifconfig -a
> rtlo      Medium: Local Loopback
>          LOOPBACK  MTU: 1500
> 
> rteth0    Medium: Ethernet  Hardware address: 00:06:70:81:04:29
>          BROADCAST  MTU: 1500
> 
> ~ $
> ~ $ rtifconfig rteth0 up
> Oops: kernel access of bad area, sig: 11 [#1]
> NIP: C504FB24 LR: C504F858 CTR: 00000000
> REGS: c0517cd0 TRAP: 0300   Not tainted  (2.6.18)
> MSR: 00009032 <EE,ME,IR,DR>  CR: 44004244  XER: 00000000
> DAR: 00000108, DSISR: 20000000
> TASK = c05296d0[763] 'rtifconfig' THREAD: c0516000
> GPR00: 00000001 C0517D80 C05296D0 501201E1 C0218008 C504FB04 C0517E74
> 00000000
> GPR08: F0010000 00000000 F0010000 C0006300 84004228 10019594 03FFE000
> 00000000
> GPR16: 00000001 FFFFFFFF 00000000 03FF8304 7FABEA30 00000000 C0218008
> C504FB04
> GPR24: 00000000 FFFFFFFF C0200000 C0200000 F0010000 00000084 501201E1
> C5050AB0
> Call Trace:
> [C0517D80] [C046A000]  (unreliable)
> [C0517DC0] [C504F8B4]
> [C0517DE0] [C50500B4]
> [C0517E00] [C505BC9C]
> [C0517E20] [C505C17C]
> [C0517EA0] [C505BF74]
> [C0517EE0] [C0095CD8]
> [C0517EF0] [C00960AC]
> [C0517F10] [C0096110]
> [C0517F40] [C0004200]
> Instruction dump:
> 419e0008 60000002 90090108 4e800020 5460c7fe 81240138 2c800000 70600020
> 5460d7fe 2f800000 5460cffe 2f000000 <80090108> 5400072e 41820008 60000010
> Segmentation fault
> 

You should switch on symbol names in your kernel: CONFIG_KALLSYMS. Dunno
if there is more for PPC, maybe check the Kernel Hacking section.

> 
> 
> 2007/6/1, Jan Kiszka <[EMAIL PROTECTED]>:
>> Juha Niskanen wrote:
>> > Hi,
>> >
>> > I am porting mpc8260 fcc_enet.c from 2.6.18 to rtnet,
>>
>> Please help me first: Is this a rewrite of the existing driver or an
>> update/extension/2.6-compatibility patch? In the latter case, sending
>> your changes in form of a real patch would be preferred for reviews
>> ("svn diff" may help if you work with RTnet svn).
> Like rewriting using
> http://www.rts.uni-hannover.de/rtnet/lxr/source/Documentation/README.drvporting
> 
> and orginal driver.
> 
> I attach latest svn diff.

Ok. Lots of cosmetic changes due to the kernel version jump
unfortunately. Makes it harder to compare. BTW, Wolfgang, what is the
status of the current RTnet driver? Working under 2.4?

Once the driver is fine with 2.6, we also should ensure that it still
builds and runs under 2.4.

> 
>>
>> >
>> > First I get error when loading module:
>> > rt_mpc8260_fcc_enet: Unknown symbol cpmp
>> > rt_mpc8260_fcc_enet: Unknown symbol __res
>> >
>> > I exported symbols:
>> > arch/ppc/syslib/m8260_setup.c
>> >  EXPORT_SYMBOL(__res);
>> >
>> > arch/ppc/syslib/cpm2_common.c
>> >  EXPORT_SYMBOL(cpmp);
>> >
>>
>> Wolfgang, is this due to the original Linux driver not being a module?
>>
>> >
>> > I can allready start the rtnet and get a lot of error messages.
>> >
>> > rteth0: tx queue full!.
>> > rteth0: tx queue full!.
>> >
>>
>> Transmission is not working, maybe its IRQ line setup is broken. Thus
> 
> Any idea of good place to start debugging?

By addressing the warnings:

> 
> Warnings during compile:
> /home/juni/build/rtnet-0.9.9/drivers/rt_mpc8260_fcc_enet.c: In
> function `fcc_enet_interrupt':
> /home/juni/build/rtnet-0.9.9/drivers/rt_mpc8260_fcc_enet.c:569:
> warning: passing arg 1 of `rtdm_irq_disable' discards qualifiers from
> pointer target type

I don't see yet what qualifiers get deleted here, but I would be good to
understand this first. Then also check if the code between
rtdm_irq_disable and enable wouldn't be better protected by a plain
rtdm_lock.

> /home/juni/build/rtnet-0.9.9/drivers/rt_mpc8260_fcc_enet.c:660:
> warning: passing arg 1 of `rtdm_irq_enable' discards qualifiers from
> pointer target type
> /home/juni/build/rtnet-0.9.9/drivers/rt_mpc8260_fcc_enet.c: In
> function `fcc_enet_cleanup':
> /home/juni/build/rtnet-0.9.9/drivers/rt_mpc8260_fcc_enet.c:1682:
> warning: ISO C90 forbids mixed declarations and code

Tss, tss, tss.

> /home/juni/build/rtnet-0.9.9/drivers/rt_mpc8260_fcc_enet.c: In
> function `fcc_enet_interrupt':
> /home/juni/build/rtnet-0.9.9/drivers/rt_mpc8260_fcc_enet.c:537:
> warning: 'cep' might be used uninitialized in this function

That's an obvious bug, check your code again.

>  Building modules, stage 2.
>  MODPOST
> WARNING: /home/juni/build/rtnet-0.9.9/drivers/rt_mpc8260_fcc_enet.o -
> Section mismatch: reference to .init.text: from .exit.text after
> 'cleanup_module' (at offset 0x3c)

Remove the __exit sectioning if you call cleanup_module during init as well.

>  LD [M]  /home/juni/build/rtnet-0.9.9/drivers/rt_mpc8260_fcc_enet.ko
> 
> Compilation finished at Fri Jun  1 15:02:03

Note: It's always a good idea to try to understand why the compiler is
whining about your code. Unless one is 100% sure some warning is
unrelated to other problems, addressing it first is mandatory!

> 
>> you get a full queue after a while - a short while if RTmac/TDMA is
>> running.
> Yep, immentially.
> If I configure it manually like in README I get:
> 
> ~ $ rtroute add 10.0.0.3 00:15:60:BD:BF:5C dev rteth0
> ~ $ rtping 10.0.0.3
> Real-time PING 10.0.0.3 56(84) bytes of data.
> rteth0: tx queue full!.
> hard_start_xmit returned 1
> ioctl: Resource temporarily unavailable
> ~ $
> 
> 
>>
>> What is your precise setup? I assume it's latest RTnet, but which I-pipe
>> patch, which Xenomai version? Just to have a common ground for the
>> discussion.
> 
> rtnet-0.9.9
> xenomai-2.3.1
> adeos-ipipe-2.6.18-ppc-1.5-01.patch
> 
>>
>> >
>> > The driver is attached.
>> > If some one find reason for that or can get it working....
>> >
>>
>> I would prefer to leave first detail comments up to Wolfgang... :->
>>
>> Thanks for sharing your work! I'm sure we will be able to resolve
>> remaining issues and then merge an updated driver into RTnet.
>>
>> Jan
>>
> 
> Thaks for great tool!
> 
> -Juha

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to