{"id":769,"date":"2010-05-28T09:26:33","date_gmt":"2010-05-28T02:26:33","guid":{"rendered":"http:\/\/www.jfdesignnet.com\/?p=769"},"modified":"2010-05-28T09:26:33","modified_gmt":"2010-05-28T02:26:33","slug":"2nd-pico-djh-upside-down-image-from-uvcvideo-webcam","status":"publish","type":"post","link":"https:\/\/www.jfdesignnet.com\/?p=769","title":{"rendered":"2nd Pico DJH upside down image from uvcvideo webcam"},"content":{"rendered":"<p style=\"text-align: justify;\"><a href=\"http:\/\/www.jfdesignnet.com\/wp-content\/uploads\/2010\/05\/DJH_615.jpg\" rel=\"lightbox[769]\"><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-full wp-image-871\" title=\"DJH_615\" src=\"http:\/\/www.jfdesignnet.com\/wp-content\/uploads\/2010\/05\/DJH_615.jpg\" alt=\"\" width=\"200\" height=\"200\" \/><\/a>Regardless to this <a href=\"http:\/\/www.jfdesignnet.com\/?p=404\">article<\/a>, I have finally succeed creating dkms for the uvcvideo module that can be installed into the generic kernel in case you have an upside down image from the webcam. The result video stream will turn upside down from any application such as kopete, wxcam, camorama, cheese and any other apps that get the stream video from uvcvideo.<\/p>\n<p style=\"text-align: justify;\">Unfortunately since kernel 2.6.28, the uvcvideo module was included on kernel tree, thus the dkms cannot install properly since the location path were change from drivers\/media\/video to drivers\/media\/video\/uvc for uvcvideo.ko.gz and also there are some slight updates from the uvcvideo developer that uvc_v4l2 has changed and cannot compile if you were using uvc_v4l2.c from svn trunk and not from the kernel source. The third problem was the patch I was created before was no longer work because the video function was changed to something else on the function module and give this error :<\/p>\n<p>\/home\/jfdesign\/src\/rpm\/SOURCES\/uvcvideo\/uvc_video.c:521: error: \u2018video\u2019 undeclared (first use in this function)<\/p>\n<p style=\"text-align: justify;\">I dissected the uvcvideo from the main kernel source 2.6.33.4, grab the uvc_v4l2.c, create patch again, fix the spec file for uvcvideo.ko.gz new location path, and rebuild the rpm. Now I&#8217;ve got a working dkms-uvcvideo video flip rpm for my klixs-2010.1<\/p>\n<p>Here is the <a href=\"wp-content\/uploads\/2010\/05\/uvc_video_vflip.patch\">patch<\/a>, and here is the output message when installing the dkms :<\/p>\n<p>{code type=CSS}<br \/>\n[root@jfklixs-domain noarch]# rpm -Uvh dkms-uvcvideo-0.1.0-7.svn263vflipklixs2010.noarch.rpm<br \/>\nPreparing&#8230; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0########################################### [100%]<br \/>\n1:dkms-uvcvideo \u00a0 \u00a0 \u00a0 \u00a0 \u00a0########################################### [100%]<br \/>\nCreating symlink \/var\/lib\/dkms\/uvcvideo\/0.1.0-7.svn263vflipklixs2010\/source -&gt;<br \/>\n\/usr\/src\/uvcvideo-0.1.0-7.svn263vflipklixs2010<br \/>\nDKMS: add Completed.<br \/>\nPreparing kernel 2.6.33.4-jf3.bfs for module build:<br \/>\n(This is not compiling a kernel, just preparing kernel symbols)<br \/>\nStoring current .config to be restored when complete<br \/>\nRunning Generic preparation routine<br \/>\nmake mrproper&#8230;.<br \/>\nUsing \/proc\/config.gz<br \/>\nmake oldconfig&#8230;.<br \/>\nmake prepare&#8230;.<br \/>\nBuilding module:<br \/>\ncleaning build area&#8230;.<br \/>\nmake KERNELRELEASE=2.6.33.4-jf3.bfs -C \/lib\/modules\/2.6.33.4-jf3.bfs\/build SUBDIRS=\/var\/lib\/dkms\/uvcvideo\/0.1.0-7.svn263vflipklixs2010\/build modules&#8230;..<br \/>\ncleaning build area&#8230;.<br \/>\ncleaning kernel tree (make mrproper)&#8230;.<br \/>\nDKMS: build Completed.<br \/>\nuvcvideo.ko.gz:<br \/>\n&#8211; Installation<br \/>\n&#8211; Installing to \/lib\/modules\/2.6.33.4-jf3.bfs\/kernel\/drivers\/media\/video\/uvc\/<br \/>\ndepmod&#8230;&#8230;.<br \/>\nDKMS: install Completed.<br \/>\n[root@jfklixs-domain noarch]#<br \/>\n[root@jfklixs-domain noarch]# rpm -Uvh dkms-uvcvideo-0.1.0-7.svn263vflipklixs2010.noarch.rpm<br \/>\nPreparing&#8230; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0########################################### [100%]<br \/>\n1:dkms-uvcvideo \u00a0 \u00a0 \u00a0 \u00a0 \u00a0########################################### [100%]<br \/>\nCreating symlink \/var\/lib\/dkms\/uvcvideo\/0.1.0-7.svn263vflipklixs2010\/source -&gt;\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/usr\/src\/uvcvideo-0.1.0-7.svn263vflipklixs2010<br \/>\nDKMS: add Completed.<br \/>\nPreparing kernel 2.6.33.4-jf3.bfs for module build:(This is not compiling a kernel, just preparing kernel symbols)<br \/>\nStoring current .config to be restored when complete<br \/>\nRunning Generic preparation routinemake mrproper&#8230;.<br \/>\nusing \/proc\/config.gzmake oldconfig&#8230;.<br \/>\nmake prepare&#8230;.<br \/>\nBuilding module:cleaning build area&#8230;.make KERNELRELEASE=2.6.33.4-jf3.bfs -C \/lib\/modules\/2.6.33.4-jf3.bfs\/build SUBDIRS=\/var\/lib\/dkms\/uvcvideo\/0.1.0-7.svn263vflipklixs2010\/build modules&#8230;..cleaning build area&#8230;.cleaning kernel tree (make mrproper)&#8230;.<br \/>\nDKMS: build Completed.<br \/>\nuvcvideo.ko.gz:\u00a0&#8211; Installation\u00a0\u00a0 &#8211; Installing to \/lib\/modules\/2.6.33.4-jf3.bfs\/kernel\/drivers\/media\/video\/uvc\/<br \/>\ndepmod&#8230;&#8230;.<br \/>\nDKMS: install Completed.<br \/>\n[root@jfklixs-domain noarch]#<br \/>\n{\/code}<\/p>\n<p>Hope it helps you if you dealt with same problem.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Regardless to this article, I have finally succeed creating dkms for the uvcvideo module that can be installed into the generic kernel in case you have an upside down image from the webcam. The result video stream will turn upside down from any application such as kopete, wxcam, camorama, cheese and any other apps that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":871,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,9],"tags":[176],"_links":{"self":[{"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/posts\/769"}],"collection":[{"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=769"}],"version-history":[{"count":0,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/posts\/769\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/media\/871"}],"wp:attachment":[{"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}