Thread (1 message) 1 message, 1 author, 2014-03-21

Re: esd CAN USB/2 and SocketCAN

From: Francesco Giovannini <hidden>
Date: 2014-03-21 19:06:40

On 18/03/14 12:04, Thomas Körper wrote:
Hello,

I tried to reproduce your problems with our USB/2 CAN module, see following output.
But there seems to be no issue specific to that software combination.

The disconnection while setting the baudrate therefore seems to be caused by USB power issues. (When setting the baudrate the module needs more power: exactly the moment the disconnect occurs)

So how does that CAN USB/2 behave at another PC, or without/with powered USB-Hub etc.?


Kind Regards,
     Thomas Körper

linux-su5w:/usr/src/linux # uname -a
Linux linux-su5w 3.4.63-2.44-desktop #1 SMP PREEMPT Wed Oct 2 11:18:32 UTC 2013 (d91a619) i686 i686 i386 GNU/Linux
linux-su5w:/usr/src/linux # modinfo esd_usb2
filename:       /lib/modules/3.4.63-2.44-desktop/extra/esd_usb2.ko
license:        GPL v2
description:    CAN driver for esd CAN-USB/2 interfaces
author:         Matthias Fuchs [off-list ref]
srcversion:     BB525C832956175CE3B9316
alias:          usb:v0AB4p0010d*dc*dsc*dp*ic*isc*ip*
depends:
vermagic:       3.4.63-2.44-desktop SMP preempt mod_unload modversions 686
linux-su5w:/usr/src/linux # canconfig can0 stop
can0 state: STOPPED
linux-su5w:/usr/src/linux # canconfig can0 bittiming prop-seg 2 phase-seg1 12 phase-seg2 5 sjw 1 brp 3 tq 50
can0 bittiming:
         tq: 50, prop-seq: 2 phase-seq1: 12 phase-seq2: 5 sjw: 1, brp: 3
can0 bitrate: 1000000, sample-point: 0.750
linux-su5w:/usr/src/linux # ip -d link show can0
2: can0: <NOARP,ECHO> mtu 16 qdisc pfifo_fast state DOWN mode DEFAULT qlen 10
     link/can
     can state STOPPED (berr-counter tx 0 rx 160) restart-ms 0
     bitrate 1000000 sample-point 0.750
     tq 50 prop-seg 2 phase-seg1 12 phase-seg2 5 sjw 1
     esd_usb2: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..1024 brp-inc 1
     clock 60000000
linux-su5w:/usr/src/linux # dmesg -c
[  886.429642] esd_usb2 1-1:1.0: can0: setting BTR=0x804d0002
linux-su5w:/usr/src/linux # canconfig can0 start
can0 state: ERROR-ACTIVE
linux-su5w:/usr/src/linux # cansend can0 000#112233
interface = can0, family = 29, type = 3, proto = 1
linux-su5w:/usr/src/linux # cat /sys/class/net/can0/device/firmware
1.1.0
Hello,

I tried the same device on a Debian 7.4, kernel 3.2.0-4-amd64 #1 SMP 
Debian 3.2.54-2 x86_64 GNU/Linux, can kernel module coming from the 
kernel source tree. Everything works fine.

I asked my colleagues and it seems that this "peak current" problem is 
well known. Some of us even resorted to opening the CAN-USB and adding a 
capacitor to fix the problem. :)

I must say that I was plugging it in the USB ports which are at the 
front of the case. It is therefore plausible that those ports could not 
draw enough power when needed. I have since then resorted to using 
Windows 7 and the necessary driver on the same machine. Everything works 
fine there, albeit the device is a CAN mini.


Thanks for investigating this, guys!

Francesco

-- 
*Francesco Giovannini*
Research Fellow
iCub Facility
*Istituto Italiano di Tecnologia*
Via Morego, 30 16163 Genova
/email:/ francesco.giovannini@iit.it <mailto://francesco.giovannini@iit.it>
www.iit.it <http://www.iit.it>

iit-logo-icub
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help