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.

Communication CRC error between CDC device and beaglebone



Hello Team,

I am porting RFID module on beaglebone. The module is recognized as CDC device. And I am able to attache this device on my system. However, when I start to transmit data to this module, I got CRC error. Here is my setup:

  • BeagleBone Rev. A4
  • Linux version: 3.0.1
  • BeagleBone USB used as a host USB
  • Device driver: USB Modem (CDC ACM)  
Could you kindly give me some ideas why I got CRC error?
Regards,
Nickle
  • Hello Team,

    This is my kernel configuration file and related information.

    GCC version:

    [/arago/bin]> ./arm-arago-linux-gnueabi-gcc -v
    Using built-in specs.
    COLLECT_GCC=./arm-arago-linux-gnueabi-gcc
    Target: arm-arago-linux-gnueabi
    Configured with: /sim/scratch_a0850442/arago-tmp-arago/work/i686-armv7a-sdk-arago-linux-gnueabi/gcc-cross-sdk-4.5-r41.2+svnr170880/gcc-4_5-branch/configure --build=i686-linux --host=i686-linux --target=arm-arago-linux-gnueabi --prefix=/arago-2011.09/armv7a --exec_prefix=/arago-2011.09/armv7a --bindir=/arago-2011.09/armv7a/bin --sbindir=/arago-2011.09/armv7a/bin --libexecdir=/arago-2011.09/armv7a/libexec --datadir=/arago-2011.09/armv7a/share --sysconfdir=/arago-2011.09/armv7a/etc --sharedstatedir=/arago-2011.09/armv7a/share/com --localstatedir=/arago-2011.09/armv7a/var --libdir=/arago-2011.09/armv7a/lib --includedir=/arago-2011.09/armv7a/include --oldincludedir=/arago-2011.09/armv7a/include --infodir=/arago-2011.09/armv7a/share/info --mandir=/arago-2011.09/armv7a/share/man --enable-largefile --disable-nls --enable-ipv6 --with-gnu-ld --enable-shared --enable-languages=c,c++,objc,fortran --enable-threads=posix --disable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-arago-linux-gnueabi- --enable-target-optspace --enable-lto --enable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap --with-float=softfp --with-sysroot=/arago-2011.09/armv7a/arm-arago-linux-gnueabi --with-build-time-tools=/sim/scratch_a0850442/arago-tmp-arago/sysroots/i686-linux/usr/armv7a/arm-arago-linux-gnueabi/bin --with-build-sysroot=/sim/scratch_a0850442/arago-tmp-arago/sysroots/armv7a-arago-linux-gnueabi --disable-libunwind-exceptions --with-mpfr=/sim/scratch_a0850442/arago-tmp-arago/sysroots/i686-linux/usr --with-system-zlib --enable-__cxa_atexit
    Thread model: posix
    gcc version 4.5.3 20110311 (prerelease) (GCC)


    CRC Error log:

    root@beaglebone:~# ./demo_ThingMagic_1.11 -v tmr:///dev/ttyACM0 get
    Sending:  ff 00 03 1d 0c
    Received: ff 14 03 00 00 10 11 16 00 18 00 00 01 20 11 05
              09 01 10 01 4a 00 00 00 10 7e 5e
    Sending:  ff 00 0c 1d 03
    Received: ff 01 0c 00 00 32 63 63 00 00  <-- extra bit should not be here
    Error connecting reader: CRC Error

    .config file of Kernel:

    Please kindly help me to solve this problem.

    Thank you.

  • I've got similar problem with raw Ethernet reception, both default Angstrom distribution and self-built wheezy 3.2.30.

    It seems to be CRC32 field appended to Ethernet frame data section.

    I found this at /linux-3.2.30/drivers/net/ethernet/ti/davinci_emac.c:

    /* Configuration items */
    #define EMAC_DEF_PASS_CRC (0) /* Do not pass CRC up to frames */

    Is there smth similar for beaglebone processor?

    Nickle, have you succeded to solve this issue?

    Thank you.