Hi Chris, On Tuesday 23 August 2011 05:47:20 CJ wrote: > On 22/08/11 22:15, Michael Jones wrote: > >>>>> I am trying to get the mt9p031 working from nand with a ubifs file > >>>>> system and I am having a few problems. > >>>>> > >>>>> /dev/media0 is not present unless I run: > >>>>> #mknod /dev/media0 c 251 0 > >>>>> #chown root:video /dev/media0 > >>>>> > >>>>> #media-ctl -p > >>>>> Enumerating entities > >>>>> media_open: Unable to enumerate entities for device /dev/media0 > >>>>> (Inappropriate ioctl for device) > >>>>> > >>>>> With the same rig/files it works fine running from EXT4 on an SD > >>>>> card. Any idea why this does not work on nand with ubifs? > >>>> > >>>> Is the OMAP3 ISP driver loaded ? Has it probed the device successfully > >>>> ? Check the kernel log for OMAP3 ISP-related messages. > >>> > >>> Here is the version running from SD card: > >>> # dmesg | grep isp > >>> [ 0.265502] omap-iommu omap-iommu.0: isp registered > >>> [ 2.986541] omap3isp omap3isp: Revision 2.0 found > >>> [ 2.991577] omap-iommu omap-iommu.0: isp: version 1.1 > >>> [ 2.997406] omap3isp omap3isp: hist: DMA channel = 0 > >>> [ 3.006256] omap3isp omap3isp: isp_set_xclk(): cam_xclka set to > >>> 21600000 Hz > >>> [ 3.011932] omap3isp omap3isp: isp_set_xclk(): cam_xclka set to 0 Hz > >>> > >>> From NAND using UBIFS: > >>> # dmesg | grep isp > >>> [ 3.457061] omap3isp omap3isp: Revision 2.0 found > >>> [ 3.462036] omap-iommu omap-iommu.0: isp: version 1.1 > >>> [ 3.467620] omap3isp omap3isp: hist: DMA channel = 0 > >>> [ 3.472564] omap3isp omap3isp: isp_set_xclk(): cam_xclka set to > >>> 21600000 Hz > >>> [ 3.478027] omap3isp omap3isp: isp_set_xclk(): cam_xclka set to 0 Hz > >>> > >>> Seems to be missing: > >>> omap-iommu omap-iommu.0: isp registered > >>> > >>> Is that the issue? Why would this not work when running from NAND? > > > > I'm not sure, either, but I had a similar problem before using Laurent's > > patch below. IIRC, usually udev would create /dev/media0 from a cached > > list of /dev/*. Later modutils would come along and load the modules in > > the proper order (iommu, then omap3-isp) and everybody was happy. > > Occasionally, udev would fail to use the cached version of /dev/, and > > look through /sys/devices to re-create the devices in /dev/. When media0 > > was found, omap3-isp.ko would be loaded, but iommu had not yet been, > > presumably because it doesn't have an entry in /sys/devices/. So maybe > > udev is behaving differently for you on NAND than it did on the card? > > Either way, as I said, using Laurent's patch below did the job for me. > > > >> I'm not sure why it doesn't work from NAND, but the iommu2 module needs > >> to be loaded before the omap3-isp module. Alternatively you can compile > >> the iommu2 module in the kernel with > >> > >> diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig > >> index 49a4c75..3c87644 100644 > >> --- a/arch/arm/plat-omap/Kconfig > >> +++ b/arch/arm/plat-omap/Kconfig > >> @@ -132,7 +132,7 @@ config OMAP_MBOX_KFIFO_SIZE > >> > >> module parameter). > >> > >> config OMAP_IOMMU > >> > >> - tristate > >> + bool > >> > >> config OMAP_IOMMU_DEBUG > >> > >> tristate "Export OMAP IOMMU internals in DebugFS" > > Thanks for the help! > > For some reason dmesg does not read early kernel stuff when in UBIFS > from NAND. > So when I went back and had a look the line I thought was not there is > actually included. > > [ 0.276977] omap-iommu omap-iommu.0: isp registered > > So I guess everything is loading fine. > > I tried the patch and it didn't make a difference. > > Regarding what Michael said /dev/media0 is not created by udev when boot > from NAND. > I tried creating it manually with: > #mknod /dev/media0 c 251 0 > #chown root:video /dev/media0 > > But this does not work - outputs: > > # media-ctl -r -l '"mt9p031 2-0048":0->"OMAP3 ISP CCDC":0[1], "OMAP3 ISP > CCDC":2->"OMAP3 ISP preview":0[1], "OMAP3 ISP preview":1->"OMAP3 ISP > resizer":0[1], "OMAP3 ISP resizer":1->"OMAP3 ISP resizer output":0[1]' > media_open: Unable to enumerate entities for device /dev/media0 > (Inappropriate ioctl for device) > > So is there a problem with udev? There could be. What's the output of ls /sys/class/video4linux -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html