On 01/14/2011 12:57 AM, Willy Lambert wrote: > 2011/1/13 Willy Lambert <[email protected]> ... > I am stuck with the test case setup, candump shows error messages when I try > a cansend. I already have tricks with extended or standard data frame > formats with Ixxat drivers. My motors seems to only accept standard frames. > Is there a way to configure this ? > > I booted my target with Ixxat driver and run my test cases to validate > everything is in order. (BIOS options, jumpers, IRQ, wiring). I only use one > controller on IRQ11 (as it is said as "reserved" in my CPU board IRQ > mapping) > I may run my motor and receive SDO from him, everything seems to be OK.
The hardware seem to work. That's a good starting point. > Without changing anything except my init script which load can drivers (in > order to load socket can drivers instead of Ixxat ones), I rebooted my CPU. > > Here is the load script : > >> modprobe sja1000_isa irq=11 mem=0xD0000 >> ip link set can0 type can bitrate 250000 restart-ms 1000 >> ifconfig can0 up >> > > Here is dmesg answer (which seems correc) : > >> [ 3.928467] sja1000_isa sja1000_isa.0: sja1000_isa device registered >> (reg_base=0xc00d0000, irq=11) >> [ 3.928646] Legacy sja1000_isa driver for max. 8 devices registered >> [ 3.938877] sja1000_isa sja1000_isa.0: setting BTR0=0x01 BTR1=0x1c >> > > Here is ifconfig result : > >> can0 Link encap:UNSPEC HWaddr >> 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 >> UP RUNNING NOARP MTU:16 Metric:1 >> RX packets:2 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 lg file transmission:10 >> RX bytes:16 (16.0 B) TX bytes:0 (0.0 B) >> Interruption:11 >> > > Here is /proc/iomem > >> 00000000-00000fff : reserved >> 00001000-0009fbff : System RAM >> 0009fc00-0009ffff : reserved >> 000a0000-000bffff : Video RAM area >> 000c0000-000c7fff : Video ROM >> 000d0000-000d001f : sja1000_isa >> ... >> > > Here is /proc/interrupts > >> CPU0 >> 0: 215 IO-APIC-edge timer >> 1: 8 IO-APIC-edge i8042 >> 2: 0 XT-PIC-XT cascade >> 8: 97 IO-APIC-edge rtc0 >> 11: 1 IO-APIC-edge can0 >> 12: 7 IO-APIC-edge i8042 >> 14: 0 IO-APIC-edge ata_piix >> 15: 1017 IO-APIC-edge ata_piix >> 19: 0 IO-APIC-fasteoi uhci_hcd:usb3 >> 23: 14 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb2 >> 40: 411 PCI-MSI-edge eth0 >> NMI: 0 Non-maskable interrupts >> LOC: 293000 Local timer interrupts >> SPU: 0 Spurious interrupts >> PMI: 0 Performance monitoring interrupts >> PND: 0 Performance pending work >> TRM: 0 Thermal event interrupts >> THR: 0 Threshold APIC interrupts >> MCE: 0 Machine check exceptions >> MCP: 1 Machine check polls >> ERR: 0 >> MIS: 0 >> > > I write this command to wake up everybody : > >> ./cansend can0 000#0100 >> > > And at the same time, in another terminal, I run candump with theses results > : > >> ./candump any,0:0,#FFFFFFFF >> can0 20000040 [8] 00 00 00 00 00 00 00 00 ERRORFRAME >> can0 20000100 [8] 00 00 00 00 00 00 00 00 ERRORFRAME >> can0 20000004 [8] 00 04 00 00 00 00 00 71 ERRORFRAME >> can0 20000004 [8] 00 10 00 00 00 00 00 81 ERRORFRAME The controller goes bus-off. There are still some electrical problems. Next try to specific proper values for cdr and ocr: modprobe sja1000_isa irq=11 mem=0xD0000 ocr=0x5e,0x5e and then modprobe sja1000_isa irq=11 mem=0xD0000 ocr=0x5e,0x5e cdr=0,0 As you know, there might still be the magic controller reset missing. Good luck. _______________________________________________ Socketcan-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-users
