Loading ...
Sorry, an error occurred while loading the content.
 

Cross toolchain, SlugOS5, webcam support (uvcvideo)?

Expand Messages
  • reuter.rudolf
    Hello, I succesfully compiled SlugOS5 with the cross toolchain under Ubuntu 0810, and installed on the NSLU2. Now I want to install a webcam, like under SlugOS
    Message 1 of 7 , Feb 26, 2009
      Hello,
      I succesfully compiled SlugOS5 with the cross toolchain under Ubuntu
      0810, and installed on the NSLU2. Now I want to install a webcam, like
      under SlugOS 4.8beta (please see a life example at
      http://www.rudiswiki.homelinux.org/HeizungWebcam ).
      I found the support files for Video4Linux in the toolchain:
      v4l1-compat.ko
      v4l2-common.ko
      v4l2-int-device.ko
      videodev.ko
      but no driver modules (uvcvideo.ko, pwc.ko), even if the source code
      is in the toolchain.
      Unfortunately I did not figure out (google was not my friend) where to
      make a change to include those webcam drivers into the compilation
      process, and what is the quickest way to make them.

      Now I need the help of an expert. Please give me a hint, how to make
      the webcam drivers.

      Regards, Rudolf
    • Mike (mwester)
      ... There are a number of ways to do the job -- here s how I would do it: Find the linux directory
      Message 2 of 7 , Feb 28, 2009
        reuter.rudolf wrote:
        > Hello,
        > I succesfully compiled SlugOS5 with the cross toolchain under Ubuntu
        > 0810, and installed on the NSLU2. Now I want to install a webcam, like
        > under SlugOS 4.8beta (please see a life example at
        > http://www.rudiswiki.homelinux.org/HeizungWebcam ).
        > I found the support files for Video4Linux in the toolchain:
        > v4l1-compat.ko
        > v4l2-common.ko
        > v4l2-int-device.ko
        > videodev.ko
        > but no driver modules (uvcvideo.ko, pwc.ko), even if the source code
        > is in the toolchain.
        > Unfortunately I did not figure out (google was not my friend) where to
        > make a change to include those webcam drivers into the compilation
        > process, and what is the quickest way to make them.
        >
        > Now I need the help of an expert. Please give me a hint, how to make
        > the webcam drivers.

        There are a number of ways to do the job -- here's how I would do it:

        Find the linux directory
        (.../slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27).
        Run "make ARCH=arm menuconfig" to enable the kernel modules you need, or
        if you prefer, go ahead and edit the .config file manually.

        Now go to the correct stamps directory
        (.../slug/slugos/tmp/stamps/nslu2be-linux-gnueabi), and delete
        "do_compile" timestamp file for the linux kernel package
        (linux-ixp4xx-2.6.27.8+svnr1085-r2.do_compile).

        Now you can go back, and do the "make slugosbe-image" (or
        slugosle-image), and you should find your new kernel modules in the
        deploy/ipk directory (.../slug/slugos/tmp/deploy/ipk/nslu2be/).

        Mike (mwester)
      • reuter.rudolf
        ... (.../slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27). ... Thank you very much Mike for the detailed answer. I
        Message 3 of 7 , Feb 28, 2009
          --- In nslu2-linux@yahoogroups.com, "Mike (mwester)" <mwester@...> wrote:
          >
          > reuter.rudolf wrote:
          > > Hello,
          > > I succesfully compiled SlugOS5 with the cross toolchain under Ubuntu
          > > 0810, and installed on the NSLU2. Now I want to install a webcam, like
          > > under SlugOS 4.8beta (please see a life example at
          > > http://www.rudiswiki.homelinux.org/HeizungWebcam ).
          > > I found the support files for Video4Linux in the toolchain:
          > > v4l1-compat.ko
          > > v4l2-common.ko
          > > v4l2-int-device.ko
          > > videodev.ko
          > > but no driver modules (uvcvideo.ko, pwc.ko), even if the source code
          > > is in the toolchain.
          > > Unfortunately I did not figure out (google was not my friend) where to
          > > make a change to include those webcam drivers into the compilation
          > > process, and what is the quickest way to make them.
          > >
          > > Now I need the help of an expert. Please give me a hint, how to make
          > > the webcam drivers.
          >
          > There are a number of ways to do the job -- here's how I would do it:
          >
          > Find the linux directory
          >
          (.../slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27).
          > Run "make ARCH=arm menuconfig" to enable the kernel modules you need, or
          > if you prefer, go ahead and edit the .config file manually.
          >
          > Now go to the correct stamps directory
          > (.../slug/slugos/tmp/stamps/nslu2be-linux-gnueabi), and delete
          > "do_compile" timestamp file for the linux kernel package
          > (linux-ixp4xx-2.6.27.8+svnr1085-r2.do_compile).
          >
          > Now you can go back, and do the "make slugosbe-image" (or
          > slugosle-image), and you should find your new kernel modules in the
          > deploy/ipk directory (.../slug/slugos/tmp/deploy/ipk/nslu2be/).
          >
          > Mike (mwester)
          >
          Thank you very much Mike for the detailed answer. I searched already
          many hours in the documentation of openembedded for a solution. While
          I already found out how to set the <M> flag for uvc with "make
          ARCH=arm menuconfig", I found no way how to trigger the compilation
          process, without clearing the whole tmp folder.
          What I get now, after deleting
          linux-ixp4xx-2.6.27.8+svnr1085-r2.do_compile and "make slugosbe-image" is:

          make[1]: Entering directory
          `/home/rudi/slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27'
          CC init/main.o
          armeb-linux-gnueabi-ld: init/.tmp_main.o: compiled for a little endian
          system and target is big endian
          armeb-linux-gnueabi-ld: failed to merge target specific data of file
          init/.tmp_main.o
          make[1]: *** [init/main.o] Error 1

          Then I deleted init/.tmp_main.o and started again, with the same
          results. Is it now the best to delete the whole /slug/slugos/tmp folder?

          Regards, Rudolf
        • Mike (mwester)
          reuter.rudolf wrote: ... Wow! I have no idea what happened, but it looks like you have part of your environment built with little-endian, and part with
          Message 4 of 7 , Feb 28, 2009
            reuter.rudolf wrote:
            ...
            > What I get now, after deleting
            > linux-ixp4xx-2.6.27.8+svnr1085-r2.do_compile and "make slugosbe-image" is:
            >
            > make[1]: Entering directory
            > `/home/rudi/slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27'
            > CC init/main.o
            > armeb-linux-gnueabi-ld: init/.tmp_main.o: compiled for a little endian
            > system and target is big endian
            > armeb-linux-gnueabi-ld: failed to merge target specific data of file
            > init/.tmp_main.o
            > make[1]: *** [init/main.o] Error 1
            >
            > Then I deleted init/.tmp_main.o and started again, with the same
            > results. Is it now the best to delete the whole /slug/slugos/tmp folder?

            Wow! I have no idea what happened, but it looks like you have part of
            your environment built with little-endian, and part with big-endian --
            that's one of those things that I suspect the OE experts would "that
            can't happen".

            Yes, delete the entire tmp directory, and start fresh. Make sure that
            you take care to make "slugosbe-image", and never "slugosle-image" (or,
            for those that prefer little-endian, the other way around - it makes
            little difference as long as its all consistent).

            Again, that can't happen. But clearly it did, somehow.

            Mike (mwester)


            BTW, if you can just provide the complete list of modules you need
            enabled, we can add them to the SlugOS 5 feeds as soon as I get the
            release done, and the feeds building -- hopefully a matter of one final
            opkg patch to do, and then the mechanics of the release process to execute.
          • reuter.rudolf
            ... `/home/rudi/slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27 ... folder? ... execute. ... Thank you for your help
            Message 5 of 7 , Feb 28, 2009
              --- In nslu2-linux@yahoogroups.com, "Mike (mwester)" <mwester@...> wrote:
              >
              > reuter.rudolf wrote:
              > ...
              > > What I get now, after deleting
              > > linux-ixp4xx-2.6.27.8+svnr1085-r2.do_compile and "make
              slugosbe-image" is:
              > >
              > > make[1]: Entering directory
              > >
              `/home/rudi/slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27'
              > > CC init/main.o
              > > armeb-linux-gnueabi-ld: init/.tmp_main.o: compiled for a little endian
              > > system and target is big endian
              > > armeb-linux-gnueabi-ld: failed to merge target specific data of file
              > > init/.tmp_main.o
              > > make[1]: *** [init/main.o] Error 1
              > >
              > > Then I deleted init/.tmp_main.o and started again, with the same
              > > results. Is it now the best to delete the whole /slug/slugos/tmp
              folder?
              >
              > Wow! I have no idea what happened, but it looks like you have part of
              > your environment built with little-endian, and part with big-endian --
              > that's one of those things that I suspect the OE experts would "that
              > can't happen".
              >
              > Yes, delete the entire tmp directory, and start fresh. Make sure that
              > you take care to make "slugosbe-image", and never "slugosle-image" (or,
              > for those that prefer little-endian, the other way around - it makes
              > little difference as long as its all consistent).
              >
              > Again, that can't happen. But clearly it did, somehow.
              >
              > Mike (mwester)
              >
              >
              > BTW, if you can just provide the complete list of modules you need
              > enabled, we can add them to the SlugOS 5 feeds as soon as I get the
              > release done, and the feeds building -- hopefully a matter of one final
              > opkg patch to do, and then the mechanics of the release process to
              execute.
              >
              Thank you for your help Mike, and for the offer to include the modules
              in the feed.
              I like to have uvcvideo.ko (probably CONFIG_USB_VIDEO_CLASS=m) for my
              webcam and pwc.ko (probably CONFIG_USB_PWC=m) which is for Philips
              webcams, just in case. They use the V4L2 (Video for Linux version 2)
              support, which is already enabled in the feed, but I could not test
              that yet, because of the missing uvcvideo.ko driver.

              I tried to compile with a new "tmp" folder, with the following result:
              2009-02-28 23:13 slug/slugos/tmp deleted and make slugosbe-image:
              NOTE: Tasks Summary: Attempted 732 tasks of which 0 didn't need to be
              rerun and 1 failed.
              ERROR:
              '/home/rudi/slug/slugos/openembedded/packages/glibc/glibc_2.6.1.bb' failed
              NOTE: build 200902282313: completed
              make[1]: *** [image] Fehler 1
              make[1]: Verlasse Verzeichnis '/home/rudi/slug/slugos'
              make: *** [slugosbe-image] Fehler 2

              In my next try I will delete slug/slugos and start again.

              Regards, Rudolf
            • reuter.rudolf
              ... `/home/rudi/slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27 ... endian ... (or, ... final ... failed ... Hello
              Message 6 of 7 , Mar 1, 2009
                --- In nslu2-linux@yahoogroups.com, "reuter.rudolf" <reuterru@...> wrote:
                >
                > --- In nslu2-linux@yahoogroups.com, "Mike (mwester)" <mwester@> wrote:
                > >
                > > reuter.rudolf wrote:
                > > ...
                > > > What I get now, after deleting
                > > > linux-ixp4xx-2.6.27.8+svnr1085-r2.do_compile and "make
                > slugosbe-image" is:
                > > >
                > > > make[1]: Entering directory
                > > >
                >
                `/home/rudi/slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27'
                > > > CC init/main.o
                > > > armeb-linux-gnueabi-ld: init/.tmp_main.o: compiled for a little
                endian
                > > > system and target is big endian
                > > > armeb-linux-gnueabi-ld: failed to merge target specific data of file
                > > > init/.tmp_main.o
                > > > make[1]: *** [init/main.o] Error 1
                > > >
                > > > Then I deleted init/.tmp_main.o and started again, with the same
                > > > results. Is it now the best to delete the whole /slug/slugos/tmp
                > folder?
                > >
                > > Wow! I have no idea what happened, but it looks like you have part of
                > > your environment built with little-endian, and part with big-endian --
                > > that's one of those things that I suspect the OE experts would "that
                > > can't happen".
                > >
                > > Yes, delete the entire tmp directory, and start fresh. Make sure that
                > > you take care to make "slugosbe-image", and never "slugosle-image"
                (or,
                > > for those that prefer little-endian, the other way around - it makes
                > > little difference as long as its all consistent).
                > >
                > > Again, that can't happen. But clearly it did, somehow.
                > >
                > > Mike (mwester)
                > >
                > >
                > > BTW, if you can just provide the complete list of modules you need
                > > enabled, we can add them to the SlugOS 5 feeds as soon as I get the
                > > release done, and the feeds building -- hopefully a matter of one
                final
                > > opkg patch to do, and then the mechanics of the release process to
                > execute.
                > >
                > Thank you for your help Mike, and for the offer to include the modules
                > in the feed.
                > I like to have uvcvideo.ko (probably CONFIG_USB_VIDEO_CLASS=m) for my
                > webcam and pwc.ko (probably CONFIG_USB_PWC=m) which is for Philips
                > webcams, just in case. They use the V4L2 (Video for Linux version 2)
                > support, which is already enabled in the feed, but I could not test
                > that yet, because of the missing uvcvideo.ko driver.
                >
                > I tried to compile with a new "tmp" folder, with the following result:
                > 2009-02-28 23:13 slug/slugos/tmp deleted and make slugosbe-image:
                > NOTE: Tasks Summary: Attempted 732 tasks of which 0 didn't need to be
                > rerun and 1 failed.
                > ERROR:
                > '/home/rudi/slug/slugos/openembedded/packages/glibc/glibc_2.6.1.bb'
                failed
                > NOTE: build 200902282313: completed
                > make[1]: *** [image] Fehler 1
                > make[1]: Verlasse Verzeichnis '/home/rudi/slug/slugos'
                > make: *** [slugosbe-image] Fehler 2
                >
                > In my next try I will delete slug/slugos and start again.
                >
                > Regards, Rudolf
                >
                Hello Mike,
                The kernel module uvcvideo.ko is now working. I renamed slug/slugos
                and started again.
                First to my special problem:
                After a resizing of the Linux partition of my development computer the
                swap partition was not enabled. Therefore I got sometimes an "out of
                memory error" - fixed.

                A detailed explanation of the build process ------------------
                In order to compile "uvcvideo.ko" (webcam driver) you first type:
                "make ARCH=arm menuconfig" in path
                slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27
                and set flag:
                /Device Drivers/Multimedia Devices/Video capture adapters/V4L USB
                devices/USB Video Class (UVC) <M>
                and save the file ".config".
                If the phase "config" is not run, it is useful to also edit
                config-2.6.27.8 in path:
                slug/slugos/tmp/staging/nslu2be-linux-gnueabi/kernel
                Insert after "# CONFIG_USB_VIDEO_CLASS is not set"
                CONFIG_USB_VIDEO_CLASS=m

                In order to enable compilation you should delete the file:
                linux-ixp4xx-2.6.27.8+svnr1085-r2.do_compile
                in path: slug/slugos/tmp/stamps/nslu2be-linux-gnueabi
                Maybe deleting .do_config will avoid editing config-2.6.27.8.

                Next run from path slug "make slugosbe-image".
                The file kernel-module-uvcvideo_2.6.27.8+svnr1085-r2_nslu2be.ipk
                is found in path: slug/slugos/tmp/deploy/ipk/nslu2be

                My next action will be to compile the source code for uvccapture, a
                video camera capture tool, which works for me under slugOS4.8.
                Do you please have a hint, how to do that in accordance with the rules?

                Thanks for the big help Mike.
                Regards, Rudolf
              • reuter.rudolf
                ... The program uvccapture is now also working under slugOS5. It was only feasible with the help of Jon Barber. The method to produce this new package for
                Message 7 of 7 , Mar 11, 2009
                  --- In nslu2-linux@yahoogroups.com, "reuter.rudolf" <reuterru@...> wrote:
                  >
                  > Hello Mike,
                  > The kernel module uvcvideo.ko is now working. I renamed slug/slugos
                  > and started again.
                  > First to my special problem:
                  > After a resizing of the Linux partition of my development computer the
                  > swap partition was not enabled. Therefore I got sometimes an "out of
                  > memory error" - fixed.
                  >
                  > A detailed explanation of the build process ------------------
                  > In order to compile "uvcvideo.ko" (webcam driver) you first type:
                  > "make ARCH=arm menuconfig" in path
                  > slug/slugos/tmp/work/nslu2be-linux-gnueabi/linux-ixp4xx-2.6.27.8+svnr1085-r2/linux-2.6.27
                  > and set flag:
                  > /Device Drivers/Multimedia Devices/Video capture adapters/V4L USB
                  > devices/USB Video Class (UVC) <M>
                  > and save the file ".config".
                  > If the phase "config" is not run, it is useful to also edit
                  > config-2.6.27.8 in path:
                  > slug/slugos/tmp/staging/nslu2be-linux-gnueabi/kernel
                  > Insert after "# CONFIG_USB_VIDEO_CLASS is not set"
                  > CONFIG_USB_VIDEO_CLASS=m
                  >
                  > In order to enable compilation you should delete the file:
                  > linux-ixp4xx-2.6.27.8+svnr1085-r2.do_compile
                  > in path: slug/slugos/tmp/stamps/nslu2be-linux-gnueabi
                  > Maybe deleting .do_config will avoid editing config-2.6.27.8.
                  >
                  > Next run from path slug "make slugosbe-image".
                  > The file kernel-module-uvcvideo_2.6.27.8+svnr1085-r2_nslu2be.ipk
                  > is found in path: slug/slugos/tmp/deploy/ipk/nslu2be
                  >
                  > My next action will be to compile the source code for uvccapture, a
                  > video camera capture tool, which works for me under slugOS4.8.
                  > Do you please have a hint, how to do that in accordance with the rules?
                  >
                  > Thanks for the big help Mike.
                  > Regards, Rudolf
                  >
                  The program "uvccapture" is now also working under slugOS5.
                  It was only feasible with the help of Jon Barber.
                  The method to produce this new package for slugOS5 is now decribed
                  in the NSLU2 wiki under the link
                  http://www.nslu2-linux.org/wiki/HowTo/AddUvccaptureToPackages

                  Regards, Rudolf
                Your message has been successfully submitted and would be delivered to recipients shortly.