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.

Problem of dma with Logitech webcam Pro 9000 with OMAP35x EVM

Other Parts Discussed in Thread: OMAP3530

Hi everyone,

I've a little problem with OMAP35x EVM. I bought a logitech webcam pro 9000 because I read that the driver is already installed in the linux kernel.

When I ran the example application saMmapLoopback -u 1 I got this message at the end of the execution: dma_free_coherent: bad page in kernel page table.

 

If someone know what is the problem it would be great.

 

linux 2.6.29 arago project

webcam logitech webcam pro 9000

 

thanks

  • Aurelien MORFOUACE said:
    I've a little problem with OMAP35x EVM. I bought a logitech webcam pro 9000 because I read that the driver is already installed in the linux kernel.


    This webcam is definitely supported by Linux, i use it - though not with the EVM

    Aurelien MORFOUACE said:
    When I ran the example application saMmapLoopback -u 1 I got this message at the end of the execution:
    dma_free_coherent: bad page in kernel page table.

    Just to understand, did the application run properly and the error came at end?
    Also, can you share your bootargs?

  • First my webcam works very well with my computeur with the cheese application. I am using the linux 8.04 LTS (kernel 2.6.32).

     

    What do you mean by "did the application run properly"? I can tell you that I see the streaming live from my webcam on the LCD screen of the EVM. There is no problem for this. But just before  the end of the application we can see many times the message "dma_free_coherent:bad page in kernel page table". It's presented like this:

     

    dma_free_coherent: bad page in kernel page table
    <2>dma_free_coherent: bad page in kernel page table
    dma_free_coherent: bad page in kernel page table
    <2>dma_free_coherent: bad page in kernel page table
    dma_free_coherent: bad page in kernel page table
    <2>dma_free_coherent: bad page in kernel page table
    dma_free_coherent: bad page in kernel page table
    <2>dma_free_coherent: bad page in kernel page table
    dma_free_coherent: bad page in kernel page table
    Capture: Stream off!!

    Loopback Successful

    Timing Analysis:
    ----------------
    Before Time:    1252687797 500030
    After Time:     1252687837 844756
    Result Time:    40 344726
    Calculated Frame Rate:  25 Fps

     

    And finally my bootargs are:

    setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.1.1:/home/aurelien/workdir/filesys,nolock mem=99M mpurate=600 omapfb.rotate=1 omapfb.rotate_type=1 omap_vout.vid1_static_vrfb_alloc=y

    I boot using NAND flash and then NFS file system.

    thanks for your help.

    best regards

    Aurélien

  • Aurelien MORFOUACE said:
    First my webcam works very well with my computeur with the cheese application. I am using the linux 8.04 LTS (kernel 2.6.32).


    I confirmed the same in my earlier response.
    Aurelien MORFOUACE said:
    What do you mean by "did the application run properly"? I can tell you that I see the streaming live from my webcam on the LCD screen of the EVM. There is no problem for this. But just before  the end of the application we can see many times the message "dma_free_coherent:bad page in kernel page table". It's presented like this:

    This is exactly I wanted to know - whether application fails immediately OR you notice errors after/during the execution.

  • I missed this in your first post:

    linux 2.6.29 arago project

    If you are following arago, i can suggest you to try the same application on the latest PSP release based on Linux kernel 2.6.37.

    The release package is available at:

    http://software-dl.ti.com/dsps/dsps_public_sw/psp/LinuxPSP/OMAP_04_02/04_02_00_07/index_FDS.html

  • I downloaded the release package with your link. But I have some trouble to install it on the EVM. Do you know if there is a tutorial or a getting started guide? I tried to do instructions which I found in user guide but it doesn't work.

  • Check the user guide here:
    http://processors.wiki.ti.com/index.php/AM35x-OMAP35x-PSP_04.02.00.07_UserGuide

    If you are using NAND, check the special instructions related to HW ECC.

  • Thanks.

    I succeed to install the new release but I can't use it with NFS file system. I have some trouble, I have this message:

       5.935394]      host=192.168.1.100, domain=, nis-domain=(none),            
    [    5.941741]      bootserver=192.168.1.1, rootserver=192.168.1.1, rootpath=  
    [    7.974731] VFS: Unable to mount root fs via NFS, trying floppy.            
    [    7.983459] VFS: Cannot open root device "nfs" or unknown-block(2,0)        
    [    7.990234] Please append a correct "root=" boot option; here are the availab
    le partitions:                                                                 
    [    7.999237] 1f00             512 mtdblock0  (driver?)                       
    [    8.004638] 1f01            1280 mtdblock1  (driver?)                       
    [    8.009979] 1f02             768 mtdblock2  (driver?)                       
    [    8.015380] 1f03            5120 mtdblock3  (driver?)                       
    [    8.020782] 1f04          254464 mtdblock4  (driver?)                       
    [    8.026092] Kernel panic - not syncing: VFS: Unable to mount root fs on unkno
    wn-block(2,0)                                                                  
    [    8.034881] [<c004b348>] (unwind_backtrace+0x0/0xec) from [<c041a27c>] (panic
    +0x54/0x180)                                                                   
    [    8.043548] [<c041a27c>] (panic+0x54/0x180) from [<c0009168>] (mount_block_ro
    ot+0x1d0/0x210)                                                                
    [    8.052490] [<c0009168>] (mount_block_root+0x1d0/0x210) from [<c0009248>] (mo
    unt_root+0xa0/0xbc)                                                            
    [    8.061798] [<c0009248>] (mount_root+0xa0/0xbc) from [<c00093c8>] (prepare_na
    mespace+0x164/0x1bc)                                                           
    [    8.071197] [<c00093c8>] (prepare_namespace+0x164/0x1bc) from [<c0008708>] (k
    ernel_init+0x10c/0x14c) 

     

    If you know what is my problem it would be nice.

    best regars

  • Will need your see your bootargs; and u-boot environment.

  • Here is my bootargs,

    setenv bootargs 'mem=128M console=ttyO0,115200n8 noinitrd rw root=/dev/nfs nfsroot=/mnt/nfs,nolock ip=dhcp'

    And u-boot environment,

    baudrate=115200
    bootfile=uImage
    loadaddr=0x82000000
    usbtty=cdc_acm
    console=ttyO0,115200n8
    mmcargs=setenv bootargs console=${console} root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait
    nandargs=setenv bootargs console=${console} root=/dev/mtdblock4 rw rootfstype=jffs2
    loadbootscript=fatload mmc 0 ${loadaddr} boot.scr
    bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
    loaduimage=fatload mmc 0 ${loadaddr} uImage
    mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}
    nandboot=echo Booting from nand ...; run nandargs; onenand read ${loadaddr} 280000 400000; bootm ${loadaddr}
    dieid#=4e68002400000000040365fa1501b005
    ethact=smc911x-0
    serverip=192.168.1.1
    ip=dhcp
    ipaddr=192.168.1.100
    get_kernel=run nand_kernel
    get_initrd=run nand_initrd
    nand_kernel=nand read.i 0x80000000 280000 500000
    nand_initrd=nand read.i 0x82000000 780000 2000000
    tftp_kernel=tftpboot 0x80000000 uImage
    tftp_initrd=tftpboot 0x82000000 ramdisk.gz
    addip=setenv bootargs $bootargs ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:eth0:on
    boot_rd=run get_kernel; run get_initrd; setenv bootargs $bootargs_rd; run addip; bootm 0x80000000
    boot_fs=run get_kernel; setenv bootargs $bootargs_fs; run addip; bootm 0x80000000
    boot_nfs=run get_kernel; setenv bootargs $bootargs_nfs; run addip; bootm 0x80000000
    bootdelay=20
    bootcmd=run boot_nfs
    bootargs_nfs=mem=128M console=ttyO0,115200n8 noinitrd rw root=/dev/nfs nfsroot=/mnt/nfs,nolock
    bootargs=mem=128M console=ttyO0,115200n8 noinitrd root=/dev/mtdblock4 rw rootfstype=jffs2 ip=dhcp
    bootargs_rd=mem=128M console=tty00,115200n8 root=/dev/ram0 initrd=0x82000000,40M ramdisk_size=32768
    bootargs_fs=mem=128M console=tty00,115200n8 noinitrd root=/dev/mtdblock4 rw rootfstype=jffs2
    stdin=serial
    stdout=serial
    stderr=serial

    Hope you can help, thanks

  • Few things to try:

    1. Can you run 'dhcp' command from u-boot? Does it succeed?

    1a. Try using bootargs as below:

       setenv bootargs 'mem=128M console=ttyO0,115200n8 noinitrd rw root=/dev/nfs nfsroot=/mnt/nfs,nolock ip=dhcp'

    2. Based on your environment I am assuming that '/mnt/nfs' is exported by your nfs server; and it contains a valid filesystem. If no, you may want to fix this path. Also try mounting the same path explicitly when you boot from SD card. in case of failure, you may get better/verbose errors in this scenario than kernel boot-up.

  • Shouldn't the nfsroot be set to ip-address:/mnt/nfs?  Something more like 'nfsroot=192.168.1.1:/mnt/nfs'

     

    Steve K.

  • Actually yes. I missed it completely!

    And it seems user guide needs to be updated as well. Will be done tomorrow morning!

  • Hi

     

    I succeed to launched NFS filesystem but it's stopped just at the end. I can't log me as root user I suppose this is because I don't have the new file system with the new demo. Take a look where booting stopped:

    BusyBox v1.13.2 (2009-09-11 16:10:40 EDT) multi-call binary

    Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR

    Create a special file (block, character, or pipe)

    Options:
            -m      Create the special file using the specified mode (default a=rw)
    TYPEs include:
            b:      Make a block device
            c or u: Make a character device
            p:      Make a named pipe (MAJOR and MINOR are ignored)

    [   37.352233] lpm_omap3530: no symbol version for module_layout
    insmod: error inserting 'lpm_omap3530.ko': -1 Invalid module format
    [   37.408660] sdmak: no symbol version for module_layout
    insmod: error inserting 'sdmak.ko': -1 Invalid module format
    Demo interface started at level 0.
    CMEM Error: init: Failed to open /dev/cmem: 'No such file or directory'

    Can you tell me if I have right and where I could find the new file system?

     

    thanks

    aurélien

  • The problem is errors like this:

    insmod: error inserting 'lpm_omap3530.ko': -1 Invalid module format

    Not sure if there is an updated DVSDK  that uses latest PSP release, but you should be able to cross-compile these against the latest kernel version. If you are not using IVA, then you can ignore these errors.

    You aren't able to see the console for login means that your filesystem is using ttyS0 for the console output. With the latest kernel, this has been renamed to ttyOn.

    1. Edit the file "/etc/inittab" on your target filesystem.
    2. Change all occurrences of ttyS with ttyO
    3. Save the file and reboot.