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.

Ti8168+DVRRDK_04.01.00.02 mobile hard disk access

hi all:
Ti8168+DVRRDK_04.01.00.02 mobile hard disk access, to test the speed of writing, only 4.8M/s, TI81XX_PSP_04.04.00.02_Feature_Performance_Guide.pdf,
this file is written to load the g_file_storage.ko, do not know whether to help write speed.
In addition, I can not compile and generate g_file_storage.ko in this platform, is there a specific menuconfig configuration. Thank you!

  • below is our current menuconfig

  • when we execute "make lsp",and there are some errors appear.

  • Bingyi,

    Please provide me the output of the below command?

    host:.../linux-dvr-rdk-dm81xx$make help



    Which defconf file you are using? Which tool chain you are using?

    Regards,
    Pavel
  • root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk# make help
    Cleaning targets:
      clean           - Remove most generated files but keep the config and
                        enough build support to build external modules
      mrproper        - Remove all generated files + config + various backup files
      distclean       - mrproper + remove editor backup and patch files
    Configuration targets:
      config          - Update current config utilising a line-oriented program
      nconfig         - Update current config utilising a ncurses menu based program
      menuconfig      - Update current config utilising a menu based program
      xconfig         - Update current config utilising a QT based front-end
      gconfig         - Update current config utilising a GTK based front-end
      oldconfig       - Update current config utilising a provided .config as base
      localmodconfig  - Update current config disabling modules not loaded
      localyesconfig  - Update current config converting local mods to core
      silentoldconfig - Same as oldconfig, but quietly, additionally update deps
      defconfig       - New config with default from ARCH supplied defconfig
      savedefconfig   - Save current config as ./defconfig (minimal config)
      allnoconfig     - New config where all options are answered with no
      allyesconfig    - New config where all options are accepted with yes
      allmodconfig    - New config selecting modules when possible
      alldefconfig    - New config with all symbols set to default
      randconfig      - New config with random answer to all options
      listnewconfig   - List new options
      oldnoconfig     - Same as silentoldconfig but set new symbols to n (unset)
    Other generic targets:
      all             - Build all targets marked with [*]
    * vmlinux         - Build the bare kernel
    * modules         - Build all modules
      modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
      firmware_install- Install all firmware to INSTALL_FW_PATH
                        (default: $(INSTALL_MOD_PATH)/lib/firmware)
      dir/            - Build all files in dir and below
      dir/file.[oisS] - Build specified target only
      dir/file.lst    - Build specified mixed source/assembly target only
                        (requires a recent binutils and recent build (System.map))
      dir/file.ko     - Build module including final link
      modules_prepare - Set up for building external modules
      tags/TAGS       - Generate tags file for editors
      cscope          - Generate cscope index
      kernelrelease   - Output the release version string
      kernelversion   - Output the version stored in Makefile
      headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
                        (default: /DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk/usr)
    Static analysers
      checkstack      - Generate a list of stack hogs
      namespacecheck  - Name space analysis on compiled kernel
      versioncheck    - Sanity check on version.h usage
      includecheck    - Check for duplicate included header files
      export_report   - List the usages of all exported symbols
      headers_check   - Sanity check on exported headers
      headerdep       - Detect inclusion cycles in headers
      coccicheck      - Check with Coccinelle.
    Kernel packaging:
      rpm-pkg             - Build both source and binary RPM kernel packages
      binrpm-pkg          - Build only the binary kernel package
      deb-pkg             - Build the kernel as an deb package
      tar-pkg             - Build the kernel as an uncompressed tarball
      targz-pkg           - Build the kernel as a gzip compressed tarball
      tarbz2-pkg          - Build the kernel as a bzip2 compressed tarball
      perf-tar-src-pkg    - Build perf-2.6.37.tar source tarball
      perf-targz-src-pkg  - Build perf-2.6.37.tar.gz source tarball
      perf-tarbz2-src-pkg - Build perf-2.6.37.tar.bz2 source tarball
    Documentation targets:
     Linux kernel internal documentation in different formats:
      htmldocs        - HTML
      pdfdocs         - PDF
      psdocs          - Postscript
      xmldocs         - XML DocBook
      mandocs         - man pages
      installmandocs  - install man pages generated by mandocs
      cleandocs       - clean all generated DocBook files
    Architecture specific targets (x86):
    * bzImage      - Compressed kernel image (arch/x86/boot/bzImage)
      install      - Install kernel using
                      (your) ~/bin/installkernel or
                      (distribution) /sbin/installkernel or
                      install to $(INSTALL_PATH) and run lilo
      fdimage      - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)
      fdimage144   - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)
      fdimage288   - Create 2.8MB boot floppy image (arch/x86/boot/fdimage)
      isoimage     - Create a boot CD-ROM image (arch/x86/boot/image.iso)
                      bzdisk/fdimage*/isoimage also accept:
                      FDARGS="..."  arguments for the booted kernel
                      FDINITRD=file initrd for the booted kernel
      i386_defconfig           - Build for i386
      x86_64_defconfig         - Build for x86_64
      make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
      make V=2   [targets] 2 => give reason for rebuild of target
      make O=dir [targets] Locate all output files in "dir", including .config
      make C=1   [targets] Check all c source with $CHECK (sparse by default)
      make C=2   [targets] Force check of all c source with $CHECK
    Execute "make" or "make all" to build all targets marked with [*] 
    For further info see the ./README file
    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk# 

    arch/arm/configs/ti8168_dvr_defconfig

    make -C/DVRRDK_04.01.00.02/dvr_rdk/../ti_tools/linux_lsp/kernel/linux-dvr-rdk CROSS_COMPILE=/DVRRDK_04.01.00.02/dvr_rdk/../ti_tools/cgt_a8/arago/linux-devkit/bin/arm-arago-linux-gnueabi- ARCH=arm modules

  • bingyi cheng said:
    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk# make help

    It seems to me that you did not export the ARCH.

    Can you provide me the output of the below commands:

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk#echo $ARCH

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk#ls -al

    Do you have DM816x TI EVM or DM816x DVR board or custom board?

    Regards,
    Pavel

  • make menuconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- ti8168_dvr_defconfig
    we used this command and generated g_file_storage.ko
    thanks.
  • Hi Bingyi,

    Glad to see you fix it. Please close this thread if no more questions here.

    Regards,
    Pavel
  • 1):Iwant to know whether g_file_storage.ko could help U-disk write speed。

    2):

    With original menuconfig,when we inserted U-disk,we could find /dev/sdb1 device.As below

    When used this mode:Gadget Mode Applications,refer to “processors.wiki.ti.com/.../Usbgeneralpage”,we could not find 

    /dev/sdb1。So,we could not test write speed.

  • with default menuconfig,when we inserted U-disk,we cound find below message.but with Gadget Mode Applications,we could not find these message.

    usb 1-1: new high speed USB device using musb-hdrc and address 2
    usb 1-1: New USB device found, idVendor=0781, idProduct=557d
    usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    usb 1-1: Product: Cruzer Force
    usb 1-1: Manufacturer: SanDisk
    usb 1-1: SerialNumber: 4C531001620621118263
    scsi2 : usb-storage 1-1:1.0
    scsi 2:0:0:0: Direct-Access SanDisk Cruzer Force 1.00 PQ: 0 ANSI: 6
    sd 2:0:0:0: Attached scsi generic sg2 type 0
    sd 2:0:0:0: [sdb] 31260672 512-byte logical blocks: (16.0 GB/14.9 GiB)
    sd 2:0:0:0: [sdb] Write Protect is off
    sd 2:0:0:0: [sdb] Assuming drive cache: write through
    sd 2:0:0:0: [sdb] Assuming drive cache: write through
    sdb: sdb1
    sd 2:0:0:0: [sdb] Assuming drive cache: write through
    sd 2:0:0:0: [sdb] Attached SCSI removable disk

  • Hi Bingyi,

    bingyi cheng said:
    with default menuconfig,when we inserted U-disk,we cound find below message

    You mean that you are making the linux kernel with the below commands?

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk# make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- distclean

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk#make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- ti8168_dvr_defconfig

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk#make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage

    And with the generated uImage, the USB U-Disk is working fine? Do you plug the U-Disk before power on the board or you are making hot-plug?

    bingyi cheng said:
    but with Gadget Mode Applications,we could not find these message.

    Can you provide me the exact commands you are using here?

    Regards,
    Pavel

  • the default menuconfig mean that ti8168_dvr_defconfig is not changed,and keeped orginal .

    in /DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk ,
    we used the cmd "make menuconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- ti8168_dvr_defconfig" to changed menuconfig

    we enter /DVRRDK_04.01.00.02/dvr_rdk ,and "make lsp" to generate uImage。

    with the default menuconfig,we could find U-disk deivce /dev/sdb1,but with gadget Mode,and cold-reset our ti8168-board, we could not find U-disk device。
  • with default menuconfig,the write speed is only 4.8MB/s.Is this status normal?
    I want to know whether g_file_storage.ko could help U-disk write speed.
  • bingyi cheng said:
    the default menuconfig mean that ti8168_dvr_defconfig is not changed,and keeped orginal

    Bingyi,

    ti8168_dvr_defconfig should not be changed in all the cases, you should aways keep it original. The file that is to be changed is .config

    bingyi cheng said:
    in /DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk ,
    we used the cmd "make menuconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- ti8168_dvr_defconfig" to changed menuconfig

    bingyi cheng said:
    we enter /DVRRDK_04.01.00.02/dvr_rdk ,and "make lsp" to generate uImage。

    Can you try with the below sequence? What is the result?

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk# make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- distclean

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk#make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- ti8168_dvr_defconfig

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk#make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage

     

     

    For changing the .config file through menuconfig, try with the below sequence:

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk# make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- distclean

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk#make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- ti8168_dvr_defconfig

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk#make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig

    ------> change USB settings here

    root@root:/DVRRDK_04.01.00.02/ti_tools/linux_lsp/kernel/linux-dvr-rdk#make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage

    bingyi cheng said:
    with the default menuconfig,we could find U-disk deivce /dev/sdb1,but with gadget Mode,and cold-reset our ti8168-board, we could not find U-disk device。

    Do you connect the u-disk before power the board or you connect the u-disk after power on (hot plug)?

    Regards,
    Pavel

  • bingyi cheng said:
    with default menuconfig,the write speed is only 4.8MB/s.Is this status normal?

    Check the u-disk datasheet, check what is the supported speed there. From DM816x side, we have higher than 4.8MB/s in the performance guide.

    When DM816x USB is host, when FS is ext2, the speed is around 23MB/s, when FS is VFAT, the speed is around 18MB/sec. What is the FS (file system) of u-disk?

    When DM816x USB is gadget/device (g_file_storage.ko is used), write performance is 30MB/s, read performance is 40MB/s.

    Make sure you have all the USB related patches of the below linux tree in your code base.

    Regards,
    Pavel