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.

Built FTDI driver from linux kernel of SDK(AM335x-07.00.00.00)

Hi:

           I want a function of FTDI driver for externel FTDI chip, so i built it and it was successful. But after i make module_install to my targetNFS and then boot up my target device, I couldn't "probemod" ftdi_sio.ko, what step did i miss??I have some questions:

(1)Does it matter I use "arm-linux-gnueabi-gcc" or "arm-linux-gnueabihf-gcc" to compile module?

(2)how to install single module?? because if i use "make module_install", I found no module would run on the target filesystem after I give "lsmod" command. 

  • Hi,

    IvanLai said:
    I couldn't "probemod" ftdi_sio.ko, what step did i miss?

    The correct command is "modprobe", not "probemod".

    IvanLai said:
    (1)Does it matter I use "arm-linux-gnueabi-gcc" or "arm-linux-gnueabihf-gcc" to compile module?

    Yes, of course. The hf toolchain has hard float support which is only compatible with libraries built with the same toolchain. This would depend on the filesystem you are using and which SDK is it taken from.

    IvanLai said:
    (2)how to install single module?? because if i use "make module_install", I found no module would run on the target filesystem after I give "lsmod" command. 

    The "make module_install" command only copies the modules on the target file system. They need to be inserted in order to be visible when you run the "lsmod" command.

    Best regards,
    Miroslav

  • So.., i don't know the file system from SDK(AM335x-07.00.00.00) is built by which tool-chain(arm-linux-gnueabi-gcc or arm-linux-gnueabihf-gcc)???And when i use the "create-sdcard.sh", it seems to don't need zIamge file, I saw my terminal only show that MLO, u-boot were needed and rootfs, why??

  • SDK v7 is built around the arm-linux-gnueabihf- toolchain.

    The create-sdcard.sh script created two partitions on your SD card - a "boot" partition and a "rootfs" partition. The "boot" partition only contains the MLO and u-boot.img files. The zImage is located inside the "rootfs" partition under the /boot folder along with the needed .dtb files.

    Best regards,
    Miroslav

  • Hi:

             when i want to insmod ftdi_sio.ko, the target device always gave me error message like "ftdi_sio: no symbol version for module_layout" and "Error could not insert module ftdi_sio.ko: Invalid module format", what are the meaning?? Thanks for above ur explanation.

  • Hi, does anybody know this issue??I also check the version between kernel on the board and ftdi_sio module, they are the same that showed "3.12.10-ti2013.12.01", i really need to resolve this issue, can anyone give me some suggestions? thank you.

  • Hi,

    This is a generic Linux problem. Google returns a lot of results. Here is one: http://askubuntu.com/questions/14627/no-symbol-version-for-module-layout-when-trying-to-load-usbhid-ko

    Best regards,
    Miroslav

  • Hi,

                 Thank you for your help. i have googled a lot before, finally i resolved the problem, it seems that the kernel TI provided in SDK was not compatible to module I built from linux source in the SDK, so I rebuilt the kernel and insert the ftdi_sio module, everything was fine and my device also could know the FTDI chip outside. Thank you: ).

  • You have already a thread opened on this topic. Moving this post to the original thread.

  • Hi, i have a external board equip ftdi chip, my AM335x can communicate with it by USB port. I have build ftdi_sio.ko for the kernel on the target board(AM335x), and it also could see the device on /dev/tty**. But.... when i wrote a example by Qt and put it on the target board (this program just always try to read data and show out), I found whatever data I sent to my target board, my program always show the string that i never sent, i thought my program indeed received the data from the host, but why they always are the incorrect data??? The setting of both target board and host computer is the same(baudrate, stopbit...etc), does anyone know what i missed??