This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CAN (Controller Area Network) Uboot driver

Other Parts Discussed in Thread: AM3352, TPS65910, DA8XX

Hello

i have a custom AM3352 board with U-boot+linux that have to support a CAN interface as described in http://processors.wiki.ti.com/index.php/AM335X_DCAN_Driver_Guide

When i want to bring up the device with :

root@am335x-evm:~# ip link set can0 up                                          

I get "Cannot find device "can0"   "

  I have added pinmux_configstructure in my custom AM335x board file and also i called setup_pin_mux(d_can0_pin_mux); and am33xx_d_can_init(0). in board-am335xevm.c

Do you know what i am missing ?

Thanks

Best regards

Christophe

  • Hi Christophe,

    Try "ifconfig" command to list all the networks to check whether CANx support enabled or not.

    Have you configured CAN driver in linux menuconfig as per the TI wiki link,

    Please post your bootup logs,

  • Hello,

    thank you for your reply.

    -With ipconfig i only have "eth0" and "lo" displayed.

    -i did configured CAN driver in linux

    -"ip -V" gives : ip utility, iproute2-ss120105

    i tried to install  IPROUTE 2.6.39 but can't cross-compile it :

    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$ cp misc/Makefile{,.orig} 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  sed '/^TARGETS/s@arpd@@g' misc/Makefile.orig > misc/Makefile 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$ export GNUEABI=arm-none-linux-gnueabi 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export CC=$GNUEABI-gcc 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export LD=$GNUEABI-ld 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export NM=$GNUEABI-nm 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export AR=$GNUEABI-ar 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export RANLIB=$GNUEABI-ranlib 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export CXX=$GNUEABI-c++ 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export PREFIX=/home/bugraaydogar/can/workdir/usr 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export CROSS_COMPILE_PREFIX=$PREFIX 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export PATH=/home/bugraaydogar/arm-2009q1/bin:$PATH 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export DBM_INCLUDE=/usr/include 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export INCLUDES=/usr/include 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$  export DESTDIR=${PREFIX}/ 
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$ ./configure --host=arm-none-linux --prefix=$PREFIX --enable-debug 
    TC schedulers
     ATM    no
     IPT    using iptables
    iptables modules directory: not found!
    pengwyn@pengwyn-desktop:~/can/iproute2-2.6.39$ make
    make[1]: Entering directory `/home/pengwyn/can/iproute2-2.6.39/lib'
    arm-none-linux-gnueabi-gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -DLIBDIR=\"/usr/lib/\" -fPIC   -c -o ll_map.o ll_map.c
    make[1]: arm-none-linux-gnueabi-gcc: Command not found
    make[1]: *** [ll_map.o] Error 127
    make[1]: Leaving directory `/home/pengwyn/can/iproute2-2.6.39/lib'
    make: *** [all] Error 2

    1) must i install can utilities to have CAN access ?

    2) how can i do to cross-compile iproute2-2.6.39 ?

    thanks

    Best regards

    IPROUTE 2.6.39

  • Hello,

    i have succeeded to build "candump  canecho  cansend  cansequence" binaries for ARM3352.

    With ipconfig i only have "eth0" and "lo" displayed.

    I did configured CAN driver in linux :"ip -V" gives : ip utility, iproute2-ss120105

    What am i missing to have can0 seen as an interface ? (do i need to modify u-boot ?)

    Thanks

    Regards

  • Hello,

    here is my boot log :

    Uncompressing Linux... done, booting the kernel.                                
    [    0.000000] Linux version 3.2.0 (pengwyn@pengwyn-desktop) (gcc version 4.5.3
    20110311 (prerelease) (GCC) ) #31 Tue Jan 21 10:52:19 CET 2014                  
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d  
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructio
    n cache                                                                         
    [    0.000000] Machine: am335xevm                                               
    [    0.000000] Memory policy: ECC disabled, Data cache writeback                
    [    0.000000] AM335X ES1.0 (sgx neon )                                         
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping off.  Total pa
    ges: 65024                                                                      
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot
    =192.168.213.44:/home/pengwyn/ti-sdk-am335x-evm-05.06.00.00/targetNFS,proto=tcp,
    port=2049 rw ip=dhcp                                                            
    [    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)              
    [    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)  
    [    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)    
    [    0.000000] Memory: 256MB = 256MB total                                      
    [    0.000000] Memory: 253252k/253252k available, 8892k reserved, 0K highmem    
    [    0.000000] Virtual kernel memory layout:                                    
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)                
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)                
    [    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)                
    [    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)                
    [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)                
    [    0.000000]       .text : 0xc0008000 - 0xc059e000   (5720 kB)                
    [    0.000000]       .init : 0xc059e000 - 0xc05dc000   ( 248 kB)                
    [    0.000000]       .data : 0xc05dc000 - 0xc06470c8   ( 429 kB)                
    [    0.000000]        .bss : 0xc06470ec - 0xc0672624   ( 174 kB)                
    [    0.000000] NR_IRQS:396                                                      
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrup
    ts                                                                              
    [    0.000000] Total of 128 interrupts on 1 active controller                   
    [    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz                  
    [    0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz                           
    [    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 13
    1071999ms                                                                       
    [    0.000000] Console: colour dummy device 80x30                               
    [    0.000152] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)          
    [    0.058929] pid_max: default: 32768 minimum: 301                             
    [    0.059051] Security Framework initialized                                   
    [    0.059173] Mount-cache hash table entries: 512                              
    [    0.059539] CPU: Testing write buffer coherency: ok                          
    [    0.080047] omap_hwmod: pruss: failed to hardreset                           
    [    0.081146] print_constraints: dummy:                                        
    [    0.081512] NET: Registered protocol family 16                               
    [    0.083587] OMAP GPIO hardware version 0.1                                   
    [    0.086120] omap_mux_init: Add partition: #1: core, flags: 0                 
    [    0.088043]  omap_i2c.1: alias fck already exists                            
    [    0.088928]  omap2_mcspi.1: alias fck already exists                         
    [    0.089202]  omap2_mcspi.2: alias fck already exists                         
    [    0.090148]  edma.0: alias fck already exists                                
    [    0.090179]  edma.0: alias fck already exists                                
    [    0.090179]  edma.0: alias fck already exists                                
    [    0.117065] bio: create slab <bio-0> at 0                                    
    [    0.119354] SCSI subsystem initialized                                       
    [    0.120941] usbcore: registered new interface driver usbfs                   
    [    0.121246] usbcore: registered new interface driver hub                     
    [    0.121459] usbcore: registered new device driver usb                        
    [    0.121612] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3   
    [    0.121856] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1   
    [    0.139007] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz                   
    [    0.140411] tps65910 1-002d: could not be detected                           
    [    0.141540] Advanced Linux Sound Architecture Driver Version 1.0.24.         
    [    0.142639] Switching to clocksource gp timer                                
    [    0.158050] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)             
    [    0.158233] musb-hdrc musb-hdrc.0: dma type: pio                             
    [    0.158569] MUSB0 controller's USBSS revision = 4ea20800                     
    [    0.159210] musb-hdrc musb-hdrc.0: USB OTG mode controller at d083c000 using
    PIO, IRQ 18                                                                     
    [    0.159362] musb-hdrc musb-hdrc.1: dma type: pio                             
    [    0.159667] MUSB1 controller's USBSS revision = 4ea20800                     
    [    0.159851] musb-hdrc musb-hdrc.1: MUSB HDRC host driver                     
    [    0.159912] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus numbe
    r 1                                                                             
    [    0.160064] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002    
    [    0.160064] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=
    1                                                                               
    [    0.160095] usb usb1: Product: MUSB HDRC host driver                         
    [    0.160095] usb usb1: Manufacturer: Linux 3.2.0 musb-hcd                     
    [    0.160095] usb usb1: SerialNumber: musb-hdrc.1                              
    [    0.160949] hub 1-0:1.0: USB hub found                                       
    [    0.160980] hub 1-0:1.0: 1 port detected                                     
    [    0.161529] musb-hdrc musb-hdrc.1: USB Host mode controller at d083e800 using
     PIO, IRQ 19                                                                    
    [    0.161956] NET: Registered protocol family 2                                
    [    0.162139] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)   
    [    0.162414] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.162567] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)        
    [    0.162750] TCP: Hash tables configured (established 8192 bind 8192)         
    [    0.162750] TCP reno registered                                              
    [    0.162780] UDP hash table entries: 256 (order: 0, 4096 bytes)               
    [    0.162811] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)          
    [    0.162994] NET: Registered protocol family 1                                
    [    0.163238] RPC: Registered named UNIX socket transport module.              
    [    0.163238] RPC: Registered udp transport module.                            
    [    0.163269] RPC: Registered tcp transport module.                            
    [    0.163269] RPC: Registered tcp NFSv4.1 backchannel transport module.        
    [    0.163482] NetWinder Floating Point Emulator V0.97 (double precision)       
    [    0.173004] VFS: Disk quotas dquot_6.5.2                                     
    [    0.173065] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)       
    [    0.173614] msgmni has been set to 494                                       
    [    0.176757] alg: No test for stdrng (krng)                                   
    [    0.177398] io scheduler noop registered                                     
    [    0.177398] io scheduler deadline registered                                 
    [    0.177490] io scheduler cfq registered (default)                            
    [    0.178405] Could not set LED4 to fully on                                   
    [    0.180114] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
    [    0.734680] console [ttyO0] enabled                                          
    [    0.738922] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    [    0.746734] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    [    0.754516] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    [    0.762268] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    [    0.770019] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    [    0.778259] omap4_rng omap4_rng: OMAP4 Random Number Generator ver. 2.00     
    [    0.794616] brd: module loaded                                               
    [    0.802764] loop: module loaded                                              
    [    0.806304] i2c-core: driver [tsl2550] using legacy suspend method           
    [    0.812744] i2c-core: driver [tsl2550] using legacy resume method            
    [    0.819183] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write  
    [    0.883178] No daughter card found                                           
    [    0.886779] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write  
    [    0.894073] MAC address Pengwyn                                              
    [    0.897338] Board it's Pengwyn !                                             
    [    0.900695] Board name: Pengwyn                                              
    [    0.904052] Board version: #1.0                                              
    [    0.907318] The board is a Silica Pengwyn.                                   
    [    0.912384]  omap_hsmmc.0: alias fck already exists                          
    [    0.917846]  omap_hsmmc.1: alias fck already exists                          
    [    0.923706]  da8xx_lcdc.0: alias fck already exists                          
    [    0.929168] da8xx_lcdc da8xx_lcdc.0: GLCD: Found MODE480P panel              
    [    0.945495] lis331dlh is not supported on this evm (6)                       
    [    0.950958]  davinci-mcasp.1: alias fck already exists                       
    [    0.956665] Configure Bluetooth Enable pin...                                
    [    0.961761] omap-gpmc omap-gpmc: GPMC revision 6.0                           
    [    0.966796] Registering NAND on CS0                                          
    [    0.970642] usb 1-1: new high-speed USB device number 2 using musb-hdrc      
    [    0.979003] registered am33xx_sr device                                      
    [    0.985504] mtdoops: mtd device (mtddev=name/number) must be supplied        
    [    0.992736] omap2-nand driver initializing                                   
    [    0.997406] ONFI flash detected                                              
    [    1.000793] ONFI param page 0 valid                                          
    [    1.004455] NAND device: Manufacturer ID: 0x2c, Chip ID: 0x38 (Micron MT29F8G
    08ABABAWP)                                                                      
    [    1.013031] Creating 8 MTD partitions on "omap2-nand.0":                     
    [    1.018585] 0x000000000000-0x000000080000 : "SPL"                            
    [    1.024963] 0x000000080000-0x000000100000 : "SPL.backup1"                    
    [    1.031890] 0x000000100000-0x000000180000 : "SPL.backup2"                    
    [    1.038940] 0x000000180000-0x000000200000 : "SPL.backup3"                    
    [    1.046112] 0x000000200000-0x000000380000 : "U-Boot"                         
    [    1.052642] 0x000000380000-0x000000400000 : "U-Boot Env"                     
    [    1.059478] 0x000000400000-0x000001000000 : "Kernel"                         
    [    1.067077] 0x000001000000-0x000040000000 : "File System"                    
    [    1.178741] OneNAND driver initializing                                      
    [    1.184204] CAN device driver interface                                      
    [    1.188201] CAN bus driver for Bosch D_CAN controller 1.0                    
    [    1.213500] usb 1-1: New USB device found, idVendor=0424, idProduct=2514     
    [    1.220489] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    1.228790] hub 1-1:1.0: USB hub found                                       
    [    1.232788] hub 1-1:1.0: 4 ports detected                                    
    [    1.243255] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6           
    [    1.249694] davinci_mdio davinci_mdio.0: detected phy mask fffffffd          
    [    1.256896] davinci_mdio.0: probed                                           
    [    1.260437] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
    [    1.268157] usbcore: registered new interface driver zd1201                  
    [    1.274200] usbcore: registered new interface driver cdc_ether               
    [    1.280456] usbcore: registered new interface driver cdc_eem                 
    [    1.286529] usbcore: registered new interface driver dm9601                  
    [    1.292388] cdc_ncm: 04-Aug-2011                                             
    [    1.295928] usbcore: registered new interface driver cdc_ncm                 
    [    1.301818] Initializing USB Mass Storage driver...                          
    [    1.307159] usbcore: registered new interface driver usb-storage             
    [    1.313446] USB Mass Storage support registered.                             
    [    1.318634] usbcore: registered new interface driver usbserial               
    [    1.324890] USB Serial support registered for generic                        
    [    1.330322] usbcore: registered new interface driver usbserial_generic       
    [    1.337158] usbserial: USB Serial Driver core                                
    [    1.341979] USB Serial support registered for FTDI USB Serial Device         
    [    1.349121] usbcore: registered new interface driver ftdi_sio                
    [    1.355133] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver               
    [    1.361724] mousedev: PS/2 mouse device common for all mice                  
    [    1.368560] omap_rtc am33xx-rtc: rtc core: registered am33xx-rtc as rtc0     
    [    1.375610] am33xx-rtc: already running                                      
    [    1.379760] i2c /dev entries driver                                          
    [    1.383819] Linux video capture interface: v2.00                             
    [    1.388977] usbcore: registered new interface driver uvcvideo                
    [    1.394989] USB Video Class driver (1.1.1)                                   
    [    1.401397] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec             
    [    1.407958] _regulator_get: deviceless supply vdd_mpu not found, using dummy
    regulator                                                                       
    [    1.416656] cpuidle: using governor ladder                                   
    [    1.421417] cpuidle: using governor menu                                     
    [    1.500488] omap4_aes_mod_init: loading AM33X AES driver                     
    [    1.506164] omap4-aes omap4-aes: AM33X AES hw accel rev: 3.02                
    [    1.512725] omap4_aes_probe: probe() done                                    
    [    1.517486] omap4_sham_mod_init: loading AM33X SHA/MD5 driver                
    [    1.523651] omap4-sham omap4-sham: AM33X SHA/MD5 hw accel rev: 4.03          
    [    1.538360] omap4_sham_probe: probe() done                                   
    [    1.545471] usbcore: registered new interface driver usbhid                  
    [    1.551330] usbhid: USB HID core driver                                      
    [    1.557006] usbcore: registered new interface driver snd-usb-audio           
    [    1.565216] ALSA device list:                                                
    [    1.568328]   No soundcards found.                                           
    [    1.571868] oprofile: hardware counters not available                        
    [    1.577178] oprofile: using timer interrupt.                                 
    [    1.581665] nf_conntrack version 0.5.0 (3957 buckets, 15828 max)             
    [    1.588409] ip_tables: (C) 2000-2006 Netfilter Core Team                     
    [    1.594116] TCP cubic registered                                             
    [    1.597473] NET: Registered protocol family 17                               
    [    1.602111] can: controller area network core (rev 20090105 abi 8)           
    [    1.608673] NET: Registered protocol family 29                               
    [    1.613311] can: raw protocol (rev 20090105)                                 
    [    1.617767] can: broadcast manager protocol (rev 20090105 t)                 
    [    1.623718] Registering the dns_resolver key type                            
    [    1.628692] VFP support v0.3: implementor 41 architecture 3 part 30 variant c
     rev 3                                                                          
    [    1.636688] ThumbEE CPU extension supported.                                 
    [    1.641204] mux: Failed to setup hwmod io irq -22                            
    [    1.646728] Power Management for AM33XX family                               
    [    1.651580] Trying to load am335x-pm-firmware.bin (60 secs timeout)          
    [    1.658264] Copied the M3 firmware to UMEM                                   
    [    1.662719] Compensating OPP0 for 0mV Orig nvalue:0x999784 New nvalue:0x99978
    4                                                                               
    [    1.670379] Compensating OPP1 for 0mV Orig nvalue:0x999784 New nvalue:0x99978
    4                                                                               
    [    1.678070] _regulator_get: deviceless supply vdd_core not found, using dummy
     regulator                                                                      
    [    1.686492] smartreflex smartreflex: am33xx_sr_probe: cannot determine opp   
    [    1.693695] smartreflex: probe of smartreflex failed with error -22          
    [    1.700836] sr_init: platform driver register failed                         
    [    1.706054] backlight_init: Error on attempting to enable backlight, not supp
    orted                                                                           
    [    1.717376] clock: disabling unused clocks to save power                     
    [    1.729003] usb 1-1.1: new high-speed USB device number 3 using musb-hdrc    
    [    1.742950] Detected MACID=0:18:30:fd:2d:5a                                  
    [    1.748413] cpsw: Detected MACID = 00:18:30:fd:2d:5b                         
    [    1.755584] input: gpio-keys as /devices/platform/gpio-keys/input/input0     
    [    1.763244] omap_rtc am33xx-rtc: setting system clock to 2012-12-20 23:23:08
    UTC (1356045788)                                                                
    [    1.776458] net eth0: CPSW phy found : id is : 0x20005c90                    
    [    1.789489] PHY 0:00 not found                                               
    [    1.837280] usb 1-1.1: New USB device found, idVendor=0403, idProduct=6011   
    [    1.844482] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber
    =3                                                                              
    [    1.852081] usb 1-1.1: Product: USB-COM232 Plus4                             
    [    1.856933] usb 1-1.1: Manufacturer: FTDI                                    
    [    1.861083] usb 1-1.1: SerialNumber: FTWDTHVV                                
    [    1.868469] ftdi_sio 1-1.1:1.0: FTDI USB Serial Device converter detected    
    [    1.875885] usb 1-1.1: Detected FT4232H                                      
    [    1.879882] usb 1-1.1: Number of endpoints 2                                 
    [    1.884368] usb 1-1.1: Endpoint 1 MaxPacketSize 512                          
    [    1.889465] usb 1-1.1: Endpoint 2 MaxPacketSize 512                          
    [    1.894531] usb 1-1.1: Setting MaxPacketSize 512                             
    [    1.899749] usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUS
    B0                                                                              
    [    1.909698] ftdi_sio 1-1.1:1.1: FTDI USB Serial Device converter detected    
    [    1.917083] usb 1-1.1: Detected FT4232H                                      
    [    1.921081] usb 1-1.1: Number of endpoints 2                                 
    [    1.925567] usb 1-1.1: Endpoint 1 MaxPacketSize 512                          
    [    1.930633] usb 1-1.1: Endpoint 2 MaxPacketSize 512                          
    [    1.935729] usb 1-1.1: Setting MaxPacketSize 512                             
    [    1.940917] usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUS
    B1                                                                              
    [    1.950836] ftdi_sio 1-1.1:1.2: FTDI USB Serial Device converter detected    
    [    1.958221] usb 1-1.1: Detected FT4232H                                      
    [    1.962219] usb 1-1.1: Number of endpoints 2                                 
    [    1.966674] usb 1-1.1: Endpoint 1 MaxPacketSize 512                          
    [    1.971771] usb 1-1.1: Endpoint 2 MaxPacketSize 512                          
    [    1.976867] usb 1-1.1: Setting MaxPacketSize 512                             
    [    1.982025] usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUS
    B2                                                                              
    [    1.991943] ftdi_sio 1-1.1:1.3: FTDI USB Serial Device converter detected    
    [    1.999328] usb 1-1.1: Detected FT4232H                                      
    [    2.003356] usb 1-1.1: Number of endpoints 2                                 
    [    2.007812] usb 1-1.1: Endpoint 1 MaxPacketSize 512                          
    [    2.012908] usb 1-1.1: Endpoint 2 MaxPacketSize 512                          
    [    2.018005] usb 1-1.1: Setting MaxPacketSize 512                             
    [    2.023162] usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUS
    B3                                                                              
    [    2.123504] usb 1-1.2: new high-speed USB device number 4 using musb-hdrc    
    [    2.247406] usb 1-1.2: New USB device found, idVendor=0403, idProduct=6011   
    [    2.254577] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber
    =3                                                                              
    [    2.262207] usb 1-1.2: Product: USB-COM485 Plus4                             
    [    2.267028] usb 1-1.2: Manufacturer: FTDI                                    
    [    2.271209] usb 1-1.2: SerialNumber: FTT3AQQB                                
    [    2.278411] ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected    
    [    2.285797] usb 1-1.2: Detected FT4232H                                      
    [    2.289794] usb 1-1.2: Number of endpoints 2                                 
    [    2.294281] usb 1-1.2: Endpoint 1 MaxPacketSize 512                          
    [    2.299346] usb 1-1.2: Endpoint 2 MaxPacketSize 512                          
    [    2.304443] usb 1-1.2: Setting MaxPacketSize 512                             
    [    2.309631] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUS
    B4                                                                              
    [    2.319549] ftdi_sio 1-1.2:1.1: FTDI USB Serial Device converter detected    
    [    2.326904] usb 1-1.2: Detected FT4232H                                      
    [    2.330902] usb 1-1.2: Number of endpoints 2                                 
    [    2.335357] usb 1-1.2: Endpoint 1 MaxPacketSize 512                          
    [    2.340454] usb 1-1.2: Endpoint 2 MaxPacketSize 512                          
    [    2.345550] usb 1-1.2: Setting MaxPacketSize 512                             
    [    2.350708] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUS
    B5                                                                              
    [    2.360595] ftdi_sio 1-1.2:1.2: FTDI USB Serial Device converter detected    
    [    2.367980] usb 1-1.2: Detected FT4232H                                      
    [    2.371978] usb 1-1.2: Number of endpoints 2                                 
    [    2.376434] usb 1-1.2: Endpoint 1 MaxPacketSize 512                          
    [    2.381530] usb 1-1.2: Endpoint 2 MaxPacketSize 512                          
    [    2.386627] usb 1-1.2: Setting MaxPacketSize 512                             
    [    2.391784] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUS
    B6                                                                              
    [    2.401672] ftdi_sio 1-1.2:1.3: FTDI USB Serial Device converter detected    
    [    2.409057] usb 1-1.2: Detected FT4232H                                      
    [    2.413055] usb 1-1.2: Number of endpoints 2                                 
    [    2.417541] usb 1-1.2: Endpoint 1 MaxPacketSize 512                          
    [    2.422607] usb 1-1.2: Endpoint 2 MaxPacketSize 512                          
    [    2.427703] usb 1-1.2: Setting MaxPacketSize 512                             
    [    2.432891] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUS
    B7                                                                              
    [    3.774536] PHY: 0:01 - Link is Up - 100/Full                                
    [    3.803863] Sending DHCP requests ., OK                                      
    [    3.824340] IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.21
    3.53                                                                            
    [    3.834350] IP-Config: Complete:                                             
    [    3.837738]      device=eth0, addr=192.168.213.53, mask=255.255.255.0, gw=192
    .168.213.254,                                                                   
    [    3.846160]      host=192.168.213.53, domain=le.corp, nis-domain=(none),     
    [    3.853149]      bootserver=0.0.0.0, rootserver=192.168.213.44, rootpath=    
    [    3.927276] VFS: Mounted root (nfs filesystem) on device 0:14.               
    [    3.933746] Freeing init memory: 248K                                        
    INIT: version 2.88 booting                                                      
    Starting udev                                                                   
    Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or d
    irectory                                                                        
    bootlogd.                                                                       
    ALSA: Restoring mixer settings...                                               
    NOT configuring network interfaces: / is an NFS mount                           
    INIT: Entering runlevel: 5                                                      
    /usr/sbin/alsactl: load_state:1686: No soundcards found...                      
    Starting system message bus: dbus.                                              
    Starting Dropbear SSH server: dropbear.                                         
    Starting telnet daemon.                                                         
    Performing wifi calibration...                                                  
    rm: can't remove '/lib/firmware/ti-connectivity/wl1271-nvs.bin': No such file or
     directory                                                                      
    ERROR: Module wl12xx_sdio does not exist in /proc/modules                       
    nl80211 not found.                                                              
    [   11.487304] Disabling lock debugging due to kernel taint                     
    Starting network benchmark server: netserver.                                   
    Starting syslogd/klogd: done                                                    
    Starting thttpd.                                                                
    Starting PVR                                                                    
    [   12.425537] pvrsrvkm: disagrees about version of symbol contig_page_data     
    [   12.432556] pvrsrvkm: Unknown symbol contig_page_data (err -22)              
    [   12.438964] pvrsrvkm: disagrees about version of symbol __alloc_pages_nodemas
    k                                                                               
    [   12.446716] pvrsrvkm: Unknown symbol __alloc_pages_nodemask (err -22)        
    insmod: error inserting '/lib/modules/3.2.0/kernel/drivers/gpu/pvr/pvrsrvkm.ko':
     -1 Invalid parameters                                                          
    Could not find pvrsrvkm driver                                                  
    Starting Lighttpd Web Server: lighttpd.                                         
    2012-12-20 23:23:18: (log.c.166) server started                                 
    /                                                                               
    Starting Matrix GUI application.                                                
    ***************************************************************                 
    ***************************************************************                 
    NOTICE: This file system contains the followin GPLv3 packages:                  
            binutils-symlinks                                                       
            binutils                                                                
            gdbserver                                                               
                                                                                    
    If you do not wish to distribute GPLv3 components please remove                 
    the above packages prior to distribution.  This can be done using               
    the opkg remove command.  i.e.:                                                 
        opkg remove <package>                                                       
    Where <package> is the name printed in the list above                           
                                                                                    
    NOTE: If the package is a dependency of another package you                     
          will be notified of the dependent packages.  You should                   
          use the --force-removal-of-dependent-packages option to                   
          also remove the dependent packages as well                                
    ***************************************************************                 
    ***************************************************************                 
    Stopping Bootlog daemon: bootlogd.                                              
    umount: can't umount /mnt/.psplash: Invalid argument                            
                                                                                    
     _____                    _____           _         _                           
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_                         
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|                        
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|                          
                  |___|                    |___|                                    
                                                                                    
    Arago Project http://arago-project.org am335x-evm ttyO0

  • Hi Christophe,

    I have taken much time to enter this, So plz use utilize it.

    PLZ READ CAREFULLY ONE BY ONE & ANSWER IT

    Try "ifconfig -a" command  (list all the avail networks)

    -"ip -V" gives : ip utility, iproute2-ss120105

    i tried to install  IPROUTE 2.6.39 but can't cross-compile it :

    Do you have "ip" command in your linux filesystem?    ---> Need reply ASAP

    If yes, Have you cross compiled properly ? or Are you facing any problem?

    If no, No problem, You can use "canconfig" command instead "ip" command.

    NOTE:

    Once you run the one of the below command after that only can0 node will enable in "ifconfig" command and it may list can0 node for "ifconfig -a" command (that means it ll list even disabled networks like CAN and you can enable CAN by issuing the one of the below command)

     ip link set can0 type can bitrate 50000 triple-sampling on

    OR
    canconfig can0 bitrate 50000 ctrlmode triple-sampling on

    Now try "ifconfig" command, If you setup all configs include kernel then you can able to see the "can0" node

    You have to enable CAN by issuing the one of the above command(ip or canconfig)

    i have succeeded to build "candump  canecho  cansend  cansequence" binaries for ARM3352.

    What about "canconfig" command , got failed?

    What am i missing to have can0 seen as an interface ? (do i need to modify u-boot ?)

    Not at all

    Please post your bootup logs with attachment and not simple paste,

    -With ipconfig i only have "eth0" and "lo" displayed.

    then CAN support is not enabled in linux kernel.

    I did configured CAN driver in linux :"ip -V" gives : ip utility, iproute2-ss120105

    Please ensure that you followed the below steps to enable CAN support in linux kernel.

     

     

    Linux Kernel configuration Procedure for CAN:


    1) make ARCH=arm CROSS_COMPILE=<ur tool chain> menuconfig   ---> To select CAN driver in linux kernel config

    Ex:

    make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig

    2) Linux Driver Configuration

        DCAN device driver in Linux is provided as a networking driver that confirms to the socketCAN interface
        The driver is currently build-into the kernel with the right configuration items enabled (details below)

    How DCAN driver fits into Linux architecture

        DCAN driver is a can "networking" driver that fits into the Linux Networking framework
        It is available as a configuration item in the Linux kernel configuration as follows:

      Linux Kernel Configuration
         Networking support
            CAN bus subsystem support
               CAN device drivers
                  Bosch D_CAN devices
                    Generic Platform Bus based D_CAN driver

    Detailed Kernel Configuration

    To enable/disable CAN driver support, start the Linux Kernel Configuration tool:

    $ make menuconfig ARCH=arm

    OR

    Ex: If Cross compiler is arm-arago-linux-gnueabi-

    make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig



    Select Networking support from the main menu.

        ...
        ...
        Power management options --->
    [*] Networking support --->
        Device Drivers --->
        File systems --->
        Kernel hacking --->
        ...
        ...


    Select CAN bus subsystem support as shown here:

        ...
        ...
        Networking options  --->
    [ ] Amateur Radio support  --->
    <*> CAN bus subsystem support  --->
        IrDA (infrared) subsystem support  --->
        ...

    Select Raw CAN Protocol & Broadcast Manager CAN Protocol as shown here:

        ...
        --- CAN bus subsystem support
    <*> Raw CAN Protocol (raw access with CAN-ID filtering)
    <*> Broadcast Manager CAN Protocol (with content filtering)
        CAN Device Drivers  --->

    Building D_CAN driver into Kernel

    By default D_CAN driver is included in the Kernel

    Select Bosch D_CAN devices in the above menu and then select the following options:

    <*> Virtual Local CAN Interface (vcan)
    <*> Platform CAN drivers with Netlink support
    [*]   CAN bit-timing calculation
    < >   TI High End CAN Controller
    < >   Microchip MCP251x SPI CAN controllers
    < > Philips/NXP SJA1000 devices  --->  
    < > Bosch C_CAN devices  --->
    <*> Bosch D_CAN devices  --->
        CAN USB interfaces  --->
              ...

    Note: "CAN bit-timing calculation" needs to be enabled to use "ip" utility to set CAN bitrate

    Select Generic Platform Bus based D_CAN driver as shown here:

    --- Bosch D_CAN devices
    <*>   Generic Platform Bus based D_CAN driver

    By seeing the below your CAN log from bootup logs that you have enabled CAN but im surprising why you are not getting can0 node from your "ifconfig" command output.

    [    1.184204] CAN device driver interface                                      
    [    1.188201] CAN bus driver for Bosch D_CAN controller 1.0      

    [    1.602111] can: controller area network core (rev 20090105 abi 8)           
    [    1.608673] NET: Registered protocol family 29                               
    [    1.613311] can: raw protocol (rev 20090105)                                 
    [    1.617767] can: broadcast manager protocol (rev 20090105 t)                 

    Anyway please ensure that you have enabled all the linux kernel options which is mentioned above for CAN support.

                  
    PFA of screen shots for your ref.

  • 4201.config.txt0728.log_linux.txt

    Hello,

    thank you very much for your time and well detailled explanations !

    1) Please find attached my linux boot log (log_linux.txt) and my linux configuration file (config.txt).

    2) In log_linux.txt, you can see that ip command are included in my kernel

    3) In log_linux.txt, you can see that can0 is not seen with "ifconfig -a" command even after "canconfig can0 bitrate 50000 ctrlmode triple-sampling on" command (reply is : cannot find device "can0" )

    4) i have also build canconfig

    5) you say that CAN support is not enabled in linux kernel but i did the menu config you have detailled (please see config.txt) :

    # Network testing
    #
    # CONFIG_NET_PKTGEN is not set
    # CONFIG_HAMRADIO is not set
    CONFIG_CAN=y
    CONFIG_CAN_RAW=y
    CONFIG_CAN_BCM=y
    # CONFIG_CAN_GW is not set

    #
    # CAN Device Drivers
    #
    CONFIG_CAN_VCAN=y
    # CONFIG_CAN_SLCAN is not set
    CONFIG_CAN_DEV=y
    CONFIG_CAN_CALC_BITTIMING=y
    # CONFIG_CAN_TI_HECC is not set
    # CONFIG_CAN_MCP251X is not set
    # CONFIG_CAN_SJA1000 is not set
    # CONFIG_CAN_C_CAN is not set
    CONFIG_CAN_D_CAN=y
    CONFIG_CAN_D_CAN_PLATFORM=y

    6) Do i need to have physically a CAN controller working on my board to have "canconfig" work ?

    7) Do i need to copy more files than canconfig candump  canecho  cansend  cansequence on my target filesystem ? Do i need to copy files from IPROUTE 2.6.39 and LIBSOCKETCAN 0.0.8 cross-compilation generation ?

     

    Thank you very much for your time and your help

    Christophe

  • Hi Christophe,

    6) Do i need to have physically a CAN controller working on my board to have "canconfig" work ?

    Not at all. since am335x support upto 2 D_CAN interface.

    7) Do i need to copy more files than canconfig candump  canecho  cansend  cansequence on my target filesystem ? Do i need to copy files from IPROUTE 2.6.39 and LIBSOCKETCAN 0.0.8 cross-compilation generation ?

    As of now, Do not concentrate on this,

    Need to get print "can0" device node in "ifconfig or ifconfig -a"  output commands.

    Processor output CAN pins are "can0_rx and can0_tx"

    It could be one of  the reason  from below 2 points .

    1) Please check your hardware CAN RX & TX pins.

    Did you using same h/w configurations as like your AM335x reference EVM board for CAN interface or using those CAN pins to some other (like pinmuxing) ?

    2) Please check your configuration in am335x board file located at "linux-am335x-source/arch/arm/mach-omap2/board-am335xevm.c , mux33x.c and mux33x.h

    I have 2 modifed files for you,

    Rename the files board-am335xevm_modx.c to board-am335xevm.c

    (i) First try board-am335xevm_mod1.c file and tell me any our own printk functions called or not

    (ii) Try board-am335xevm_mod2.c file and tell me any our own printk functions called or not

    0574.board-am335xevm_mod1.c

    2804.board-am335xevm_mod2.c

     

    # Network testing
    #
    # CONFIG_NET_PKTGEN is not set
    # CONFIG_HAMRADIO is not set
    CONFIG_CAN=y
    CONFIG_CAN_RAW=y
    CONFIG_CAN_BCM=y
    # CONFIG_CAN_GW is not set

    #
    # CAN Device Drivers
    #
    CONFIG_CAN_VCAN=y
    # CONFIG_CAN_SLCAN is not set
    CONFIG_CAN_DEV=y
    CONFIG_CAN_CALC_BITTIMING=y
    # CONFIG_CAN_TI_HECC is not set
    # CONFIG_CAN_MCP251X is not set
    # CONFIG_CAN_SJA1000 is not set
    # CONFIG_CAN_C_CAN is not set
    CONFIG_CAN_D_CAN=y
    CONFIG_CAN_D_CAN_PLATFORM=y

    6) Do i need to have physically a CAN controller working on my board to have "canconfig" work ?

  • Hi,

    6) Do i need to have physically a CAN controller working on my board to have "canconfig" work ?

    As per my understanding,

    Its not required since am335x had 2 d_can interface.

    Do you have AM335x EVM board with you?

    Please check your schematics for that.

  • Hi Chrsitophe,

    Refer this TI wiki for CAN h/w,

    http://processors.wiki.ti.com/index.php/AM335x_General_Purpose_EVM_HW_User_Guide#CAN

    In AM335x EVM board, They have translator on daughter board for CAN interface.

    So, They have configured CAN0 interface using profiles,

    Use board-am335xevm_mod2.c file skipping of profile init.

    Please update the status.

  • Hello,

    thanks a lot again !

    We had the same idea : i have modified board-am335xevm.c (see attached file).

    Now the can0 is well seen in linux !

    I want  to see if data is well transmited on uart1 (available IO on connector C10 of my boad : see Schematic.pdf) but my declaration doesn't work (   see in board-am335xevm.c : {"uart1_rxd.d_can1_tx", OMAP_MUX_MODE2 | AM33XX_PULL_ENBL},    {"uart1_txd.d_can1_rx", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP})

    I have an error when booting linux for the programmation of uart1_rxd.d_can1_tx (see linux_dcan.txt).

    How can i declare uart1_rxd as the Tx of my can0 interface ?

    Thanks a lot

    Regards

    Christophe

    (1121.log_linux_dcan.txt

     

    7848.board-am335xevm.c

    0068.Silica_pengwyn-905B_Schematic.pdf

  • Hi Christophe,

    Now the can0 is well seen in linux !

    Good to hear this from you,

    I'm checking your code & schematics,

    I ll come back to you tomorrow on this,

  • Hi Christophe,

    As per AM335x TRM,

    UART0 rxd and txd pins were muxed with D_CAN0 and

    UART0 cts & rts pins were muxed with D_CAN1

    But you have connected & used UART0 (all the pins) for USB interface (serial to usb converter)

    Sorry, You cannot access the D_CAN devices 0 & 1 as per your schematic configurations,

    Currently it may list can device but feature may not work.

    Please refer AM335x TRM pinmuxing/ chip configuration/ pad configuration concepts,

    I want  to see if data is well transmited on uart1 (available IO on connector C10 of my boad : see Schematic.pdf) but my declaration doesn't work (   see in board-am335xevm.c : {"uart1_rxd.d_can1_tx", OMAP_MUX_MODE2 | AM33XX_PULL_ENBL},    {"uart1_txd.d_can1_rx", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP})

    Ex:

    /*
     * D_CAN interface pinmuxing part from mux33xx.c
     *
     *
     * #define _AM33XX_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7)        \
     * {                                    \
     *    .reg_offset    = (AM33XX_CONTROL_PADCONF_##M0##_OFFSET),    \
     *    .gpio        = (g),                        \
     *    .muxnames    = { m0, m1, m2, m3, m4, m5, m6, m7 },        \
     * }
     *
     *
     *    _AM33XX_MUXENTRY(UART0_CTSN, 0,
     *        "uart0_ctsn", NULL, "d_can1_tx", "i2c1_sda",
     *        "spi1_d0", NULL, NULL, "gpio1_8"),
     *    _AM33XX_MUXENTRY(UART0_RTSN, 0,
     *        "uart0_rtsn", NULL, "d_can1_rx", "i2c1_scl",
     *        "spi1_d1", "spi1_cs0", NULL, "gpio1_9"),
     *    _AM33XX_MUXENTRY(UART0_RXD, 0,
     *        "uart0_rxd", "spi1_cs0", "d_can0_tx", "i2c2_sda",
     *        NULL, NULL, NULL, "gpio1_10"),
     *    _AM33XX_MUXENTRY(UART0_TXD, 0,
     *        "uart0_txd", "spi1_cs1", "d_can0_rx", "i2c2_scl",
     *        NULL, NULL, NULL, "gpio1_11"),
     */

        _AM33XX_MUXENTRY(UART0_CTSN, 0,
            "uart0_ctsn", NULL, "d_can1_tx", "i2c1_sda",
            "spi1_d0", NULL, NULL, "gpio1_8"),

    Mode 0  -----> uart0_ctsn

    Mode 1  ----> NULL

    Mode 2  ----> d_can1_tx

    ..

    Mode 7  ---> gpio1_8

  • Hello,

    thank you for your reply.

    The function am33xx_mux_init(struct omap_board_mux *board_subset) from mux33xx.c is called before am335x_evm_init(void) from board-am335xevm.c. 

    Isn't it possible to re-configure    uart1_rxd for d_can1_tx and uart1_txd for d_can1_rx  (as on my board uart1 is not used for EEPROM I2C) as i did in board-am335xevm.c ?

    Why do you say "You cannot access the D_CAN devices 0 & 1 as per your schematic configurations" ?

    Regards

    Christophe

  • Hi Christophe,

    Isn't it possible to re-configure    uart1_rxd for d_can1_tx and uart1_txd for d_can1_rx  (as on my board uart1 is not used for EEPROM I2C) as i did in board-am335xevm.c ?

    Not possible, because AM335x CPU has fixed multiplexed pins between i2c2, UART1,  spi1 and gpio

    You can configure between these devices only (i2c2, UART1,  spi1 and gpio)

    How do you expect those pins to CANx device since it is fixed in processor?

    For example:

    _AM33XX_MUXENTRY(UART1_CTSN, 0,
            "uart1_ctsn", NULL, NULL, "i2c2_sda",
            "spi1_cs0", NULL, NULL, "gpio0_12"),

    From this pin entry, You can able to assign any one of the peripheral (i2c2, UART1,  spi1 and gpio) and not CAN interface.

        _AM33XX_MUXENTRY(UART0_CTSN, 0,
            "uart0_ctsn", NULL, "d_can1_tx", "i2c1_sda",
            "spi1_d0", NULL, NULL, "gpio1_8"),
        _AM33XX_MUXENTRY(UART0_RTSN, 0,
            "uart0_rtsn", NULL, "d_can1_rx", "i2c1_scl",
            "spi1_d1", "spi1_cs0", NULL, "gpio1_9"),
        _AM33XX_MUXENTRY(UART0_RXD, 0,
            "uart0_rxd", "spi1_cs0", "d_can0_tx", "i2c2_sda",
            NULL, NULL, NULL, "gpio1_10"),
        _AM33XX_MUXENTRY(UART0_TXD, 0,
            "uart0_txd", "spi1_cs1", "d_can0_rx", "i2c2_scl",
            NULL, NULL, NULL, "gpio1_11"),

    The above pin entry for UART0 | CANx | I2C | SPI

    As per your h/w schematics you can use UART0 only for USB devices,

    Its possible if your board has "Do not mount" (DNP) comp support between UART0 and FT23 chip to disable USB interface for CAN support.

    You cannot enable both UART0 and CANx devices at a time.

    Please discuss with your hardware team,

  • Hello,

    thank you, so i can't test transmission on can1.

    On my next board, the uart0 will be dedicated to can interface : so i just need canconfig candump  canecho  cansend  cansequence binaries to make can work ?

    Will cAlling "cansend can0 -i 0x10 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88" make data be transmited on CAN bus (so that i can catch it on a USB  CAN interface on a PC) ?

    Thanks

    Regards

    Christophe

  • Hi Christophe,

    On my next board, the uart0 will be dedicated to can interface : so i just need canconfig candump  canecho  cansend  cansequence binaries to make can work ?

    Yes, With little modification of board file.

    Will cAlling "cansend can0 -i 0x10 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88" make data be transmited on CAN bus (so that i can catch it on a USB  CAN interface on a PC) ?

    Sorry, I'm not sure on this. I can work on peripheral bringup issues,

    Typically, The CAN rx & tx pins were connected to translator and make into H & L (differential pair)

    I'm not sure CAN output with USB interface (As per my understanding , This is not possible )

    Please refer CAN protocol to know more.