On 01/14/2011 01:53 PM, Willy Lambert wrote: > 2011/1/14 Wolfgang Grandegger <[email protected]> > >> On 01/14/2011 10:37 AM, Willy Lambert wrote: >>> 2011/1/14 Wolfgang Grandegger <[email protected]> >>> >>>> 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. >>> >>> >>> May I ask you how you decode the candump ERRORFRAME ? does the >>> 20000040/20000100/20000004 makes sens ? What the date behind ? >> >> See http://lxr.linux.no/#linux/include/linux/can/error.h >> >> > thanks a lot for this it will help. What is the meaning of "2" in the error > class 20000040 ? the mask says it's a bus off, but does the 2 means anything
CAN_ERR_FLAG, see: http://lxr.linux.no/#linux+v2.6.37/include/linux/can.h#L23 _______________________________________________ Socketcan-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-users
