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.

Linux/PROCESSOR-SDK-AM57X: WiFi dongle support

Part Number: PROCESSOR-SDK-AM57X

Tool/software: Linux

Hi,

I am using latest processor sdk with my beagleboard x15.

Any guidelines to interface wifi dongle with this?

Thanks.

  • Please specify dongle model and interface.
  • Hi,
    by lsusb i am getting-
    Bus 001 Device 000: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
  • I have enabled rt53xx ralink device driver option in "make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig".
    I hope this will be enough.
  • Hi Rahul,

    Rahul.. said:
    by lsusb i am getting-
    Bus 001 Device 000: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

    Is it a typo? lsusb command should never list a device which is addressed as '000'.

    Anyway, it seems the USB Wifi dongle is enumerated in Kernel. The rest that you need is the dongle chipset driver and userspace application to use Wifi, which is out of the support scope from TI, please contact the Wifi dongle vendor or Linux community.

  • Hi, thanks for the information.
    Also just tell me can i follow the instructions provided by this link for interfacing external driver?-
    e2e.ti.com/.../578948
    I am using latesst sdk.
    Thanks.
  • Hi Rahul,

    You could refer to the instructions in the e2e thread you mentioned, but please pay attention to
    - in Step #4, you need to select the correct driver for your RT5370 wifi dongle if kernel has a driver to support it, but I am not sure which driver it is, since I don't have such dongle.
  • Hi Bin,
    Thanks for the information.
    There is option for the same model in menuconfig. So i proceeded that way. Also i did all the things such as after checking the rt53xx driver option in menuconfig, i did make and make linux_install and followed the above thread steps to copy the zImage and other files inside the sdcard. After that i booted my x15, unfortunately didn't get rt53xx kernel module in lsmode commands. So need to check that again. BTW just needed to confirm that whether i am in right way or not.
    Thanks
  • From the following two links, I guess the kernel driver for RT5370 is called rt2800usb.

    wiki.debian.org/rt2800usb
    superuser.com/.../install-driver-for-rt5370-on-ubuntu
  • Oh great ,
    Will make that again.
    Thanks.
  • Part Number: PROCESSOR-SDK-AM57X

    Tool/software: Linux

    Hi,

    I am interfacing usb camera with x15.

    Its working fine with "/usr/share/qt5/examples/multimediawidgets/camera/camera" command.

    But when i went with this link "https://e2e.ti.com/support/arm/sitara_arm/f/791/t/578948?Linux-AM5728-USB-WiFi-not-listed-as-network-interface"  to enable rt2800 usb module for my raylink rt5370 wifi module it throws error while doing "make linux".

    The error is -


    drivers/media/usb/uvc/uvc_driver.c: In function ‘uvc_probe’:
    drivers/media/usb/uvc/uvc_driver.c:2100:19: error: implicit declaration of function ‘vb2_dma_contig_init_ctx’; did you mean ‘vb2_dma_contig_plane_dma_addr’? [-Werror=implicit-function-declaration]
    dev->alloc_ctx = vb2_dma_contig_init_ctx(&intf->dev);
    ^~~~~~~~~~~~~~~~~~~~~~~
    vb2_dma_contig_plane_dma_addr
    drivers/media/usb/uvc/uvc_driver.c:2100:17: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
    dev->alloc_ctx = vb2_dma_contig_init_ctx(&intf->dev);
    ^
    CC [M] drivers/media/usb/uvc/uvc_video.o
    CC [M] drivers/net/wireless/intel/iwlwifi/pcie/tx.o
    CC [M] drivers/net/wireless/marvell/mwifiex/main.o
    cc1: some warnings being treated as errors
    scripts/Makefile.build:328: recipe for target 'drivers/media/usb/uvc/uvc_driver.o' failed
    make[5]: *** [drivers/media/usb/uvc/uvc_driver.o] Error 1
    make[5]: *** Waiting for unfinished jobs....

    Please suggest the solution.

    Thanks.

  • Note: i am using latest processor sdk5
  • Rahul.. said:
    drivers/media/usb/uvc/uvc_driver.c:2100:19: error: implicit declaration of function ‘vb2_dma_contig_init_ctx’; did you mean ‘vb2_dma_contig_plane_dma_addr’? [-Werror=implicit-function-declaration]

    I checked the kernel in Processor SDK v5.0.0.15, its uvc_driver.c line 2100 doesn't call vb2_dma_contig_init_ctx(). Have you applied any patch on the kernel?

  • Hi Bin,
    No i haven't applied any patch file. Strange as i was refering one of the thread where it was given to apply a usb_capture.txt patch file. So i checked the corresponding files and changes were already there. That means patch has been already done.
    Should i remove this patch? if yes then how can i do that or should i just remove that vb2_dma_contig_init_ctx() function?
    Thanks
  • Rahul,

    The kernel source code in Processor SDK v5.0.0.15 doesn't have such vb2_*() call in uvc_driver.c. If you didn't add any patch in your kernel, you'd better to figure out how this change got into your kernel, or re-download the SDK package from ti.com. I don't recommend you to do any modification in your kernel at this point, because you don't know what have been changed.
  • Thanks Bin.

  • Part Number: PROCESSOR-SDK-AM57X

    Tool/software: Linux

    Hi,

    This post is in continue with my previous post-

    http://e2e.ti.com/support/arm/sitara_arm/f/791/p/725081/2676855#2676855 

    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig", i did make linux, and make linux_install.

    Also copied the files as-

    sudo cp -r board-support/linux-version/arch/arm/boot/zImage /media/<username>/boot/ /media/<username>/rootfs/boot/
    sudo cp -r board-support/linux-version/arch/arm/boot/dts/am57xx-evm-reva3.dtb /media/<username>/boot/ /media/<username>/rootfs/boot/
    sudo cp -r targetNFS/lib/modules/4.4.32-gadde2ca9f8 /media/<username>/rootfs/lib/modules/

    Then i restarted my x15.

    During lsmod i am able to see-


    rt2x00usb 24576 1 rt2800usb
    rt2800lib 102400 1 rt2800usb
    crc_ccitt 16384 1 rt2800lib
    rt2x00lib 53248 3 rt2800lib,rt2800usb,rt2x00usb.

    But during modprobe, and dmesg, it throughs error-

    [ 105.830352] ieee80211 phy1: rt2x00_set_rt: Info - RT chipset 5390, rev 0502 detected
    [ 105.851880] ieee80211 phy1: rt2x00_set_rf: Info - RF chipset 5370 detected
    [ 105.859296] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
    [ 105.864513] usbcore: registered new interface driver rt2800usb
    [ 105.910183] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
    [ 105.920025] rt2800usb 1-1.2:1.0: Direct firmware load for rt2870.bin failed with error -2
    [ 105.928428] ieee80211 phy1: rt2x00lib_request_firmware: Error - Failed to request Firmware

    Please help.

    Thanks.

  • Hi Rahul,

    Rahul.. said:
    [ 105.910183] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
    [ 105.920025] rt2800usb 1-1.2:1.0: Direct firmware load for rt2870.bin failed with error -2
    [ 105.928428] ieee80211 phy1: rt2x00lib_request_firmware: Error - Failed to request Firmware

    The log shows that loading dongle firmware rt2870 is failed. But this is out of the support scope, please ask support to the dongle vendor or Linux community.

  • Hi,
    Thanks for the reply,
    My concern was as kernel driver for RT5370 is called rt2800usb. And there is rt2800usb support [Experimental] given in PSDK5. So thought that there would be support for that.
  • Rahul,

    The kernel in the Processor SDK Linux package is based on the Linux community kernel, but TI won't be able to support every item in the whole kernel. For example, in this RT5370 case, RT5370 is not a TI product and we have no visibility to how its firmware works, so we cannot support it. Does it make sense?
  • Bin,
    Thanks for clarification.