tag:blogger.com,1999:blog-100518692024-03-07T07:52:33.892-08:00Computers 'n StuffI here share the resolutions for my Linux problems so they might safe somebody some time.Unknownnoreply@blogger.comBlogger55125tag:blogger.com,1999:blog-10051869.post-35074639664027947932008-05-20T03:22:00.000-07:002008-05-20T05:17:01.803-07:00Cleaning up Windows XP<div style="text-align: justify;"><br /><span class="postcap">W</span>indows XP needs some maintenance from time to time when performance drops too far. Here are the major things I check and some utilites I use to fix those issues.<br /><span class="fullpost"><ol><li>Check for Malware and remove if neccesary (Freeware: Avira Private edition and SpyBotS&D, HighJackThis)</li><li><span class="fullpost">Remove all not requred Software froma the autostart folder (Windows tools: msconfig)<br /></span></li><li><span class="fullpost">Remove unnessacary data form your harddrive. Deinstall Sofware you dont require, Remove restore points, old windows update files and clean up temorary files (Freeware: CClean, EmpTemp; Windows tools: Cleanmgr)</span></li><li><span class="fullpost">Defrag harddrive, (Windows tools: defrag). Consider doing this in safe mode so more files can be moved. Use PageDefrag (Sysinternals) for offline Defragmentation of Systemfiles (Registry hives, Pagefiles and so on). Chek master file table (MFT) fragmentation. Few fragments (e.g. 3) dont matter. Many fragments ( e.g 100+) require MFT defragmentation for no feeware tools are avialable (AFAIK) DiskKeeper Professional can do the trick.</span></li><li><span class="fullpost">Check for disk errors. Usually an NTFS drive that is not flagged dirty by Windows will not require checking. I use chkdsk /f to invoke autochk. exe at boot time to fix </span><span class="fullpost">file </span><span class="fullpost">system corruption on the system, however, since I feel that many file system errors will compromise hard disk performance.</span></li><li><span class="fullpost">Fix registry. (consider creating a restore point before) (Freeware: CClean, Wiser registry cleaner, RegClean) I feel that this makes the system usually more resposnive if you remove serveral hundrets of wrong entries.<br /></span></li><li><span class="fullpost">Defragment internal structure of the Registry. (Ntregopt, Auslogistic registry defrag). This may decrease the size of the registry which decrease boot time.</span></li><li><span class="fullpost">Use HDtune to check disk performance. If disk performance is poor, check whether drivers are installed correctly in the device manager. On Intel chipset based mainboards the inel application accelerater may improve Disk performance.</span></li><li><span class="fullpost">Rebuild icon database. This will improve poor loading time for icons when this is caused by a corrupted icon database. (TweakUI[windowsXP powertoys])</span></li><li><span class="fullpost">Remove "Ghost drivers": </span>SET DEVMGR_SHOW_NONPRESENT_DEVICES=1 (Enable view hidden devices environment varibale) fire up device manager and check view>show hidden devices. Deinstall hidden devices that are not required any more.</li><li>Bootvis. Downlaod and run Bootvis (Microsoft) to optimize boot time.<br /></li><li>Check for error messages in the management console (Events>applications) and debug if applicable.</li><li>remove all unused protocoll from your network connections. In particular, deinstall microsoft network client and server or QoS if you are not using it. In the canse for micorsoft network, this probably increases security since your computer can probably not be accesed via SMB protocoll and in addition it may increase network throughput. In particular QoS has been suggested to reserve up to 20% of bandwidth for priorititized applications. However, you'll probably notice a difference only if you transfer large files over high speed LAN (100Mbit+) a lot.<br /></li></ol></span></div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-10051869.post-2103565291595387842008-04-07T05:27:00.000-07:002008-05-20T03:12:49.766-07:00Computer won't Boot after Reinstalling Windows XP on a Linux/Windows Dual Boot System: Another Windows XP Bug<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizf38nz_-cT_KD5_l3L8FtENgj7oq2lyJPbEkrSL2pF9ySFc-OiX8G9jm_1p5w__JW9zNeGMRcftPDco_-GKvjCIRet6O58bb2pFnMqU8HD9X5r2TG83IbohlYA2EIP4hOi2Cn5Q/s1600-h/MSMICR1.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizf38nz_-cT_KD5_l3L8FtENgj7oq2lyJPbEkrSL2pF9ySFc-OiX8G9jm_1p5w__JW9zNeGMRcftPDco_-GKvjCIRet6O58bb2pFnMqU8HD9X5r2TG83IbohlYA2EIP4hOi2Cn5Q/s320/MSMICR1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5186491086563161362" /></a><span class="postcap">U</span>sing a dual boot system is sometimes a little tedious. In particular since the windows installer is keen to screw up any operating systems that are installed on your hard drive besides windows. Here is what happened to me after I had to re install a broken windows instatllation on a dual boot system. <br /><br /><span class="fullpost">If you mess around too much with windows it will sooner or later cease to boot. Usually it is sufficient to boot with the windows installation disk and to choose the repair installation.<br />However, in my case repair installation did not help, and I had to do a clean install. Yet, after finishing the Windows XP SP 2 installation my computer was completely screwed up. After the Windows XP isntall it bacame impossible to boot any operating system, neither the old windows, the old linux nor the new windows. Usually in this cases it helps to boot the computer from a rescue boot disk and then boot the required partition. But in this case it didnt help at all. Also the repair utility featured on the Linux installation disk did not help at all. So I thought my harddrive would be lost.<br /><br /><span style="font-weight:bold;">However, after taking a look at the master boot record (MBR) of the hard drive I figured out what the problem was:</span><br /><br />The windows xp installer flagged both partitions of my harddrive as active after the clean install. Because after the linux installation I used GRUB as a boot loader, the linux partition was set as active in the MBR.<br />So the Windows XP installer set the windwos partition as the active partition and leaving the active flag for the linux partition in place. Thus, after finishing the Windows XP reinstallation my MBR ended up with two partitions flaged as active. This is a condition which should never be present in a master boot record.<br />To fix the MPR you have to edit it to flag the only that partition active you want to boot from, e.g. the partition containig the GRUB boot-loader. <span style="font-weight:bold;">Caution:</span> Never use the fixmbr command from the recovery console to fix the MBR. This command will overwrite your partition table and screw up your entire hard drive. <br />I consider this as another nasty Windows XP bug. Considering the Microsoft marketing strategy it is conseivable that Microsoft intentionally put this bug into their installation routine to deliberately screw up systems that hold other than microsoft operating systems on their harddrive.</span><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10051869.post-85098046463775268832007-06-20T13:44:00.000-07:002007-06-20T14:05:07.898-07:00Using wget to convert a server side CMS into Offline/client site/desktop CMS<div style="text-align: justify;"> <br /><span class="postcap">I</span> have a little bit of webspace for hosting a private homepage, but the provider supports pretty much nothing, no root acces not, CMS not php or mysql. Here are some thoughts how to use a client side cms to build static html.<br /><span class="fullpost"><br /><br />The Idea is as follows. I want to use my webspace to host a little private host site. But the privider supports no php cgi or mysql. He doesent have content management or wikis or the like. So the only option is static html. But for linux there are not so many tools that help you in generating static html websites. Exept may be html preprocessors. However, today the world is using php so why not using php as the html preprocessor. So I ended up hosting MySQL Apache and PHP locally on the client side and then ripped my own site using wget. I use OpenSuse 10.2 and all this runs out of the box.<br /><code><pre><br />wget --mirror -r –p -k --html-extension –-convert-links –P /home/ich/Downloads/mirror/mdiawiki http://localhost:8080/mylinux <br /></pre></code><br /> This way i can use server side includes in convert them to static html. It works also for zope or plone generated sites but setting up a zope site is not as easy as I thought. So I think its easier to use includes to seperate the index and template from the content so that I dont need to edit everythin by hand.<br /><br /><br /></span><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10051869.post-730878344351911172007-06-15T12:10:00.000-07:002008-04-07T06:18:34.440-07:00Microsoft "theBad" windows vs. OpenSource Linux: Not eveything is lost<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLnQG9l8m0yr7ULDbwMp0ZIRY135Y1hAo3ihJ3LpvcGbqXM_FlBwwEr82-NRUHdMXrAsZrvaJid8QOd5DPfzTK4C-jUbKJjVmchZlF2jXt5Vl2mX3LtTVLDcNiCJBihI817An-dg/s1600-h/Unbenannt.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLnQG9l8m0yr7ULDbwMp0ZIRY135Y1hAo3ihJ3LpvcGbqXM_FlBwwEr82-NRUHdMXrAsZrvaJid8QOd5DPfzTK4C-jUbKJjVmchZlF2jXt5Vl2mX3LtTVLDcNiCJBihI817An-dg/s320/Unbenannt.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5076374290593381266" /></a><div style="text-align: justify;"> <br /><span class="postcap">T</span>he Bad or like thy like to call themselves, microsoft, is tyining to bully Linux. Howerver, not everything is lost. Research reveals that all companies supporting Linux have a greater financial power than Microsoft. <br /><span class="fullpost">The new goes that a couple of companies supporting Linux are depating wheather they should form a alliance against Microsoft which is threatening the open SourcCommunity with copyright infringement law sues. Should the participants of meeting choose to form a alliance to oppose "the Bad" which continues to gain momentum in the open source market, they will have almost 9 times tha market power than microsoft (397 billion USD compared to 44.3 billion). But what could the strategy against thue new bottem up attack of microft be?</span><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10051869.post-57873946762052646262007-06-15T08:10:00.001-07:002007-06-15T08:31:47.096-07:00Installation of Moneyplex 2007 with Rainer SCT cyberjack in Linux in OpenSuse 10.2 64Bit<div style="text-align: justify;"><br /><span class="postcap">M</span>oneyplex is a monymanagement software supporting Smart Card identification for online Banking. Here I write what you have to keep in mind if you want to install it.<br /><span class="fullpost"><br /><br />The problem with Moneyplex 2007 is that is still 32Bit. But compared to earlyer versions of OpenSuse and Moneyplex its now pretty easy to get Moneyplex running in a 64bit environment. No need to use chroot dirs or virual mashines. Just install the Moneyples software using the installer and download the updates.<br /><br />Now get the <a href="http://www.reiner-sct.com/content/view/32/43/">32 bit driver for the smart card reader Reiner SCT Cyperjack for Suse 10.2</a><br />install it with<br /><br /># rpm -i [drivername.rpm]<br /><br />now connect the Reader and do<br /><br /># modprobe cyberjack<br /><br />and check with<br /><br /># lsmod | grep cyberjack<br /><br />wheather driver has loaded.<br /><br />Now add your user account to the group cyberjack e.g. using yast.<br /><br />In moneyplex you have to use the CTAPI driver you'll find in<br />/usr/lib/readers/<br /><br />and everything should work fine now.<br /></span></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-10051869.post-83827959703289067482007-06-12T10:11:00.000-07:002007-06-12T14:24:33.201-07:00Is Microsoft racketeering the Open Source community?<div style="text-align: justify;"><br /><blockquote><span class="postcap">M</span><span style=";font-family:Arial,Helvetica;font-size:100%;" >icrosoft is asking people to pay them for patents, but they won't say which ones. If a guy walks into a shop and says: 'It's an unsafe neighborhood, why don't you pay me 20 bucks and I'll make sure you're okay,' that's illegal. It's racketeering. What Microsoft is doing with intellectual property is exactly the same. It's a great company and I have great admiration for it, but this was not a well considered position," said Shuttleworth.<br /></span></blockquote><div style="text-align: right;">From <a href="http://www.linux-watch.com/news/NS4862361523.html">What the Microsoft/Xandros deal means for Linux</a><br /></div><span class="fullpost"><br />This is a pretty funny comparison but I can't belive that the plans of Microsoft concerning the opens source community are that simple. I can't tell exactly what it is but I believe it 's a part of a long term evil strategy of Microsoft to destoy the open source community. </span><span class="fullpost">There is enough evidence that Open Source has appeard already on the radar of Microsoft constanly detecting potential competitors.</span><span class="fullpost"> I has always been and it will allways be the goal of microsoft to defeat all competitiors that appear on their radar. Why should it be any different with open source? There is no obvious reason why Microsoft shoulde start to cooperate with some kind of sofware project that competes with their market. I believe its not the plan of microsoft just to earn some money I blelieve this is a strategie to attack a distributed target like the open source community. I belive its the long term goal of microsoft to infect the open source with closed source payware. These companes like Xandros, Novell and LG will serve as Trojan horses and virus droppers for Microsoft. I will be the goal of microsoft to sneak licensed technologies into the code of linux so that they can take leagl actions against any user of Linux and open source. The more companies Microsoft buys the more companies will be allowed to use this code and the more companies will distribute the infected open source Linux which will be something like Windux or Lindows that will compete with the pure opensource linux therby reducing the market share of which. </span><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10051869.post-34637277879019242722007-06-11T03:39:00.000-07:002007-06-19T14:24:59.243-07:00Building a Xen aware Nvidia grafic card driver: 6800GS SLI in Xen under OpenSuse10.2 64Bit<div style="text-align: justify;"> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAlXc2KHRXcgjG7_RHpW3myYq5TrfATAPIf_Q5dF6arp_MzTYcpQqFzQExbRbLUfXv3vI9oWzvyxq7pQvojcq8Y6sFgimi76I6EdGX4u5TKPNRY991H0DCkixfTuGtQmCnAAyAzw/s1600-h/1_m.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 122px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAlXc2KHRXcgjG7_RHpW3myYq5TrfATAPIf_Q5dF6arp_MzTYcpQqFzQExbRbLUfXv3vI9oWzvyxq7pQvojcq8Y6sFgimi76I6EdGX4u5TKPNRY991H0DCkixfTuGtQmCnAAyAzw/s200/1_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5074068107903794034" border="0" /></a><span class="postcap">X</span>en is a highly professional Open Source virtualization technology which promises the least performance loss. Heres how I got the Closed Source Nvidia driver going unde OpenSuse-Xen 64bit AMD X2.<br /><br /><span class="fullpost">3D acceleration and SLI mode in particular are only supported by the closed source nvidia drivers. However, Xen requires a modified "Xen-Aware" kernel to run in a pravirtualized environment. Only the most recent CPUs support (SVM for AMD)fully virtulized virtual mashines that run without kernel modifications. On many websites you'll find the infromation that blah blah blah X2 CPUs from AMD would support full virtualization (SVM) blah blah. But this is wrong. Don't be mistaken only the AM2 version of X2 processors support SVM. If its not AM2 its not SVM. So don't make the same mistake like me and get a socket 939 CPU.<br /><br />The Nvidia driver does not support Xen Kernels and its closed source, so you can't modifie it yourself. But not everything is lost. The nvidia driver uses a kernel module as a compatibility layer to load the binary driver. This kernel module is open source, so in theory it should be possible to modify the kernel module so that it works with Xen. And belive it or not some brave guys really hacked the kernel module to support xen-kernels.<br /><br />So I had to get the hypervisor and the default-xen kernel of opoen suse 10.2 running. This is pretty easy you can use Yast to do the installation stuff (isntall hypervisor, install default-xen and have it change the bootloader settings) And of course you'll need all the devel packeges to compile the kernels.<br /><br />Now boot with the default kernel and install <a href="http://www.novell.com/coolsolutions/tip/19150.html">install the binary nvidia drivers</a> you are going to patch later.<br /><br /><pre>sh NVIDIA-Linux-x86-1.0-9746-pkg2.run --x-module-path=/usr/lib64/xorg/modules/ -q</pre>The version of the compatibility layer and the binaries have to match. the nvidia install script will do the job for you. However, it will refuse to run in a paravirualized environment. So for the Xen-kernel, be prepared to do everything manually.<br /><br />Boot into the dom0 domain. you'll only have the console available because the xserver won't work. without the propreitary nvidiea driver with the GPUs in SLI mode.<br /><code><pre><br />init 3 # stops Xserver and swiches to runlevel 3<br /><br />make cloneconfig<br />make prepare<br />wget <a href="http://www.blogger.com/attachment.php?s=b93bb7af69b254cd66d52ff5469fbdeb&attachmentid=23705&d=1169773597">NVIDIA_xen-9746.patch.gz</a><br />wget <a href="http://us.download.nvidia.com/XFree86/Linux-x86_64/1.0-9746/NVIDIA-Linux-x86_64-1.0-9746-pkg2.run">http://us.download.nvidia.com/XFree8...-9746-pkg1.run</a><br />sh NVIDIA-Linux-x86-1.0-9746-pkg2.run -x # extract sources<br />cd NVIDIA-Linux-x86-1.0-9746-pkg2/usr/src/nv<br />zcat ../../../../NVIDIA_xen-9746.patch.gz | patch -p4 #patch sources<br /></pre></code><br /><br />Sombody stated you have to modify usr/src/nv/os-interface.c line 1288 modified to:<br /><br />#if 0<br />to avoid compiling erroers. but this was not true for me. The driver compiled fine without any modifications. So first try without modification.<br /><br /><pre><br />make SYSSRC=/usr/src/linux module # make nvidia kernel module<br />cp nvidia.ko /lib/modules/`uname -r`/updates/nvidia.ko<br />depmod -a<br />modprobe nvidia<br />init 5 # when successful enter runlevel 5 to start x server<br /></pre><br />Now the driver should load. <br />I also read this command to install the modules:<br />install -D -o root -g root -m 0644 nvidia.ko /lib/modules/`uname -r`/updates/nvidia.ko<br />But for me copying to the /udate folder of the kernel module folder was sufficient. <br />However my 3D performace was poor (1fps with glxgears)<br />So i'll try some older patches and see what happens.<br />The other patch I tried did not any better. It turned out they dont support SLI. If you turn of SLI by<br />nvidia-xconfig --no-sli<br />3D work descent (12800 fps for glxgears) which is about the same than without Xen.<br />Links to <a href="http://del.icio.us/insubordination/patch">Nvidia kernel module Xen patches</a><br />another <a href="http://en.opensuse.org/Use_Nvidia_driver_with_Xen">Nvidia xen patch howto for open suse</a><br /></span></div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-10051869.post-12696966770531763352007-06-09T07:46:00.001-07:002007-06-11T07:55:04.287-07:00Java directory structure in OpenSuse 10.2 Linux<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1O3C6cPEtBlokF95RERShEG9_CAjINgVirzLKn1bDmoPu24tqLeTIjrM1T9WBmiyGrAAQI8cioTjz93tKEA9mJlOusW6Pf9fqHFGDPEX0gJ9fVacokqte40SZf-HN5RcrJnVWXA/s1600-h/java.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 157px; height: 157px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1O3C6cPEtBlokF95RERShEG9_CAjINgVirzLKn1bDmoPu24tqLeTIjrM1T9WBmiyGrAAQI8cioTjz93tKEA9mJlOusW6Pf9fqHFGDPEX0gJ9fVacokqte40SZf-HN5RcrJnVWXA/s320/java.png" alt="" id="BLOGGER_PHOTO_ID_5074084278455663490" border="0" /></a><span class="postcap">H</span>ere is the directory structure of Java in OpenSuse 10.2 as a refereence.<br /><div style="text-align: justify;"><span class="fullpost"># which java<br />/usr/bin/java<br />/usr/bin/java -> /etc/alternatives/java*<br />/etc/alternatives/java -> /usr/lib64/jvm/jre1.6.0_01/bin/java<br /><br />this means the 64 bit java executable lives in /usr/lib64/jvm/[version]/bin/java. To enable the java version as a defualt adjust the link /etc/alternatives/java to point to the desired java version.<br /><br />/etc/alternatives/jre -> /usr/lib64/jvm/[version]/<br /><br />this is the link to your default jre. adust as desired.<br /><br />/etc/alternatives/[version] -> /usr/lib64/jvm/[version]/<br />link pointing from alternatives to the real dir of the version. The real version can be a link too. if the versions are compatible e.g.<br />/usr/lib64/jvm/[version1] -> java-1.5.0-sun-1.5.0_update10/jre/<br /><br />thats where the jar live<br /><br />/usr/share/java<br /><br />needed directorys but no content ...<br />/usr/shar/[version]<br />/usr/lib64/[version]<br /><br />No firefox java plugin 64bit available exept Blackdown but couldn't get it working exept with <=32megs heap.. strange. nspluginwrapper doesent work with libjavaplugin_oj.so since it use open java OJAPI and not NAPI. Interestingly, Konquerer has its own java plugin that works put is incopatible with firefox though...<br /><br />browser-blugins live in /usr/lib64/browser-plugins<br />or /usr/lib/browser-plugins<br />respectively. Thats the default plugin dir for firefox if you use the suse startupscript for firefox. <br /></span><br /></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-10051869.post-81227093465755928022007-06-09T07:16:00.000-07:002007-06-19T02:14:51.342-07:00Enable SLI in Linux: My Xorg.conf as an example<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAlXc2KHRXcgjG7_RHpW3myYq5TrfATAPIf_Q5dF6arp_MzTYcpQqFzQExbRbLUfXv3vI9oWzvyxq7pQvojcq8Y6sFgimi76I6EdGX4u5TKPNRY991H0DCkixfTuGtQmCnAAyAzw/s1600-h/1_m.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 122px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAlXc2KHRXcgjG7_RHpW3myYq5TrfATAPIf_Q5dF6arp_MzTYcpQqFzQExbRbLUfXv3vI9oWzvyxq7pQvojcq8Y6sFgimi76I6EdGX4u5TKPNRY991H0DCkixfTuGtQmCnAAyAzw/s200/1_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5074068107903794034" border="0" /></a><span class="postcap">T</span>he SLI mode was a little harder to enable. Here is how i got it working<br /><span class="fullpost"><br />Install the driver according to the nvidia howto.<br /><code><br />sax2 -r -m 0=nvidia doesent work with SLI setup<br /></code><br />use<br /><code><br />sax2 -r -c0 -m0=nvidia<br /></code><br />instead. assuming that your disply is hooked up to card 0. Else you can use Card 1 but card 1 will not work for SLI<br /><br />Now here was that catch: when I wanted to enable SLI GPU 0 as detectd by<br /><br />nvidia-settings<br /><br />needs to be the same as chip0 as reported by<br /><code><pre><br />sax2 -p<br /></pre></code><br />the can be identified by ther pci adress. And the display has to be hooked up to card 0 too. else the display will be scrambled when you starup the display.<br /><br />I had to change the Init Disply first to PEG(slot2) to get this accomplished.<br /><br />then you type<br /><code><pre><br />nvidiea-xconfig --sli=on<br /></pre></code><br />and your set. It si imortant that the frst available Xscreen is the screen with you monitor hooked up to it if have more that one configured in you xorg.config.<br /><br />Heres the sections relevant to xscreen config of xorg.conf as a reference with sli enabeled:<br /><br /><code><pre><br />Section "Module"<br />Load "dbe"<br />Load "type1"<br />Load "freetype"<br />Load "extmod"<br />Load "glx"<br />Load "v4l"<br />EndSection<br /><br /><br />Section "Monitor"<br />Option "CalcAlgorithm" "XServerPool"<br />DisplaySize 338 270<br />HorizSync 30-82<br />Identifier "Monitor[0]"<br />ModelName "ACER AL1714"<br />Option "DPMS"<br />VendorName "ACR"<br />VertRefresh 43-75<br />UseModes "Modes[0]"<br />EndSection<br /><br />Section "Device"<br />BoardName "GeForce 6800 GS"<br />BusID "4:0:0"<br />Driver "nvidia"<br />Identifier "Device[0]"<br />VendorName "NVIDIA"<br />EndSection<br /><br /><br />Section "Screen"<br />DefaultDepth 24<br />SubSection "Display"<br /> Depth 15<br /> Modes "1280x1024" "1152x864" "1024x768" "800x600"<br />EndSubSection<br />SubSection "Display"<br /> Depth 16<br /> Modes "1280x1024" "1152x864" "1024x768" "800x600"<br />EndSubSection<br />SubSection "Display"<br /> Depth 24<br /> Modes "1280x1024" "1152x864" "1024x768" "800x600"<br />EndSubSection<br />SubSection "Display"<br /> Depth 8<br /> Modes "1280x1024" "1152x864" "1024x768" "800x600"<br />EndSubSection<br />Device "Device[0]"<br />Identifier "Screen[0]"<br />Monitor "Monitor[0]"<br />Option "SLI" "on"<br />EndSection<br /><br /><br />Section "ServerLayout"<br />Identifier "Layout[all]"<br />InputDevice "Keyboard[0]" "CoreKeyboard"<br />InputDevice "Mouse[1]" "CorePointer"<br />Screen "Screen[0]"<br />EndSection<br /><br /><br />Section "DRI"<br /> Group "video"<br /> Mode 0660<br />EndSection</pre></code><br /><br /><a href="http://de.download.nvidia.com/XFree86/Linux-x86_64/100.14.03/HTML/index.html">Nvidie Linux Driver README</a><br /></span><br /></div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-10051869.post-78859985841001285632007-06-09T07:05:00.000-07:002007-06-10T09:00:21.852-07:00Quake 4: enable SLI in linux<div style="text-align: justify;"> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAlXc2KHRXcgjG7_RHpW3myYq5TrfATAPIf_Q5dF6arp_MzTYcpQqFzQExbRbLUfXv3vI9oWzvyxq7pQvojcq8Y6sFgimi76I6EdGX4u5TKPNRY991H0DCkixfTuGtQmCnAAyAzw/s1600-h/1_m.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 122px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAlXc2KHRXcgjG7_RHpW3myYq5TrfATAPIf_Q5dF6arp_MzTYcpQqFzQExbRbLUfXv3vI9oWzvyxq7pQvojcq8Y6sFgimi76I6EdGX4u5TKPNRY991H0DCkixfTuGtQmCnAAyAzw/s200/1_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5074068107903794034" border="0" /></a><span class="postcap">Q</span>uake 4 also runs faster in SLI mode in Linux. However, it needs to configured properly to increase performance. Here is my Quake starup script with SMP enableled.<br /><span class="fullpost"><br /><pre><br />#!/bin/sh<br /># Needed to make symlinks/shortcuts work.<br /># the binaries must run with correct working directory<br />cd "/usr/local/games/quake4"<br />export __GL_DOOM3=1<br />export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:."<br />exec ./quake4smp.x86 "$@"<br />export __GL_DOOM3=1<br /></pre><br />important is to add export __GL_DOOM3=1 to improve SLI performance<br /></span><br /></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-10051869.post-50966775559559541912007-06-05T15:06:00.001-07:002007-06-09T08:21:21.853-07:00Enable SMP for Quake 4 Linux Versin<div > Finaly I got myself an X2 core. Now I urgently need to test ist performance using a slick sesiion of Quake for. However SMP support needs to be enabeled in Quake 4 firset. And now lets rock </div><table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"><tr><td valign="top"><!-- BEGIN_CLIP_CONTENT ID:181304D1-027E-41C9-8EFE-DAE46328A28B:0 CLIPMARKS.COM --><div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"><div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" ><a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"><img src="http://content.clipmarks.com/blog_icon/7adcc13c-6ea1-4629-b752-485ddb408d35/181304D1-027E-41C9-8EFE-DAE46328A28B/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /></a>clipped from <a title="http://www.phoronix.com/scan.php?page=article&item=455&num=1" href="http://www.phoronix.com/scan.php?page=article&item=455&num=1" style="font-size: 11px;">www.phoronix.com</a></div><blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.phoronix.com/scan.php?page=article&item=455&num=1"> To enable Symmetric <br />Multi-Processing support, simply run <EM>quake4-smp</EM> rather than <EM>quake4</EM>. <br />The option remains dimmed for the multi CPU/core area within the advanced settings <br />of the game.</blockquote></div><div style="margin: 0px 6px 6px 4px;"><table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"><tr><td style="background:transparent;border-width:0px;padding:0px;"> </td><td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"><a href="http://clipmarks.com/share/181304D1-027E-41C9-8EFE-DAE46328A28B/blog/" title="blog or email this clip"><img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /></a></td></tr></table></div><!-- END_CLIP_CONTENT --></td></tr></table> Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-10051869.post-16036085094599058192007-06-03T13:25:00.000-07:002007-06-12T02:16:46.188-07:00My .xbindkeysrc.scm configruation file I use with the MX1000 lasermouse (for now)<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjliptoxYDlPVJXKXi8rhinjLPa6urGsd6YtykH5M2BybyalCERHSq91hDNDxZPqthHhWz_6LylzVWm1ZRRYgL0CDufc_Yq0479GmcQIUnZvKos43bjrY9qzUE7HpUvgPJIZ2v9EA/s1600-h/logitux.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjliptoxYDlPVJXKXi8rhinjLPa6urGsd6YtykH5M2BybyalCERHSq91hDNDxZPqthHhWz_6LylzVWm1ZRRYgL0CDufc_Yq0479GmcQIUnZvKos43bjrY9qzUE7HpUvgPJIZ2v9EA/s320/logitux.jpg" alt="" id="BLOGGER_PHOTO_ID_5071567327798608098" border="0" /></a><span class="postcap">T</span>his is my .xbindkeysrc I'm using with my mx1000 lasermouse. It's quite useful. with firefox. The thumbkeys can scroll in history and if you press the appbutton and use the scrollwheel at the same time you scroll through tabs.. If the mouse is setup properly it should be possible to do horizontal scrolling by the tilting th scroll wheel. However Firefox needs some adjustments for theis to function since he will scroll through history when the horizontal scroll buttons are pressed. The appbutton pushed and released alone will toggle the last active app.<br /></div><span class="fullpost"><br />The the <a href="http://linux01.gwdg.de/%7Epbleser/rpm-navigation.php?cat=Utilities/xbindkeys/">Guru repository xbindkey suse rpm</a> are compiled without <a href="http://www.gnu.org/software/guile/guile.html">guile </a>support.To use xbindkeys it has to be compiled with guile support. The <a href="http://linux01.gwdg.de/%7Epbleser/">Guru repository</a> does provide a <a href="http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/packages/Utilities/xbindkeys/src/xbindkeys-1.8.2-1.guru.suse102.src.rpm">xbindkeys-1.8.2-1-src.rpm</a> that can be compiled with :<br /><pre># rpmbuild --with guile --rebuild <span style="font-style: italic;">sourcepackage</span> </pre><br />to provide guile support. where <span style="font-style: italic;">sourcepackgage</span> has to be replaced by the name of the sourcpackage, in this matter by xbindkeys-1.8.2-1-src.rpm. You will need to install the guile-devel package in order to compile xbindkeys in this way however. The compild RPM will show up in /usr/src/packages/RPMS/`architecture` where architecture has to corrospond your hardware architechture, in my case x86_64- </span><span class="fullpost"><pre><br />;; This configuration is guile based.<br />;; http://www.gnu.org/software/guile/guile.html<br />;; This config script us supposed to live in the homedirectory.<br />;; This was a not so quick but probably yet dirty hack by Vee Lee.(I know nothing about coding but at least it works)<br />;; You'll need xmacroplay and xbindkeys with -guile support compiled for this to work..<br />;; This is heavily based on the domoscripts (http://hocwp.free.fr/xbindkeys/xbindkeysrc-combo.scm.html)<br />;; of the author of xbindkeys (hocwp at free dot fr) Many thanks and keep up the good work.<br />;; It assigns keybindings to the scroll wheel on the fly after the appwindow button is pressed on the mx1000 lasermous!<br /><br />define (display-n str)<br />"Display a string then newline"<br />(display str)<br />(newline))<br /><br />(define (first-binding)<br />"First binding"<br />(xbindkey-function '("b:10") second-binding)<br />(xbindkey-function '("m:0" "b:9") (lambda () (run-command "echo -e 'KeyStrPress Alt_L\nKeyStrPress Right\nKeyStrRelease Right\nKeyStrRelease Alt_L\n' | xmacroplay :0 &")))<br />(xbindkey-function '("m:0" "b:8") (lambda () (run-command "echo -e 'KeyStrPress Alt_L\nKeyStrPress Left\nKeyStrRelease Left\nKeyStrRelease Alt_L\n' | xmacroplay :0 &")))<br />)<br /><br />(define (reset-first-binding)<br />"reset first binding"<br />(display-n "resetting first binding")<br />(ungrab-all-keys)<br />(remove-all-keys)<br />(first-binding)<br />(grab-all-keys))<br /><br />;;This allows to scroll through tabs in firefox<br />(define (second-binding)<br />"Second binding"<br />(display-n "setting second binding")<br />(ungrab-all-keys)<br />(remove-all-keys)<br />(xbindkey-function '("b:4")<br /> (lambda ()<br /> (display-n "Scroll up")<br /> (run-command "echo -e 'KeyStrPress Control_L\nKeyStrPress Tab\nKeyStrRelease Tab\nKeyStrRelease Control_L' | xmacroplay :0 &")<br />))<br /><br />(xbindkey-function '("b:5")<br /> (lambda ()<br /> (display-n "Scroll down")<br /> (run-command "echo -e 'KeyStrPress Control_L\nKeyStrPress Shift_L\nKeyStrPress Tab\nKeyStrRelease Tab\nKeyStrRelease Shift_L\nKeyStrRelease Control_L' | xmacroplay :0 &")<br />))<br /><br />(xbindkey-function '(release "b:10") (lambda ()<br /> (run-command "echo -e 'KeyStrPress Alt_L\nKeyStrPress Tab\nKeyStrRelease Tab\nKeyStrRelease Alt_L' | xmacroplay :0 &")<br />(reset-first-binding)))<br />(grab-all-keys))<br /><br />(define (scroll-apps-binding)<br />"scroll-apps-binding"<br />(display-n "scroll apps binding success")<br />(ungrab-all-keys)<br />(remove-all-keys)<br />(xbindkey-function '("b:4")(run-command "echo -e 'KeyStrPress Tab\nKeyStrRelease Tab' | xmacroplay :0 &"))<br />(xbindkey-function '("b:5")(run-command "echo -e 'KeyStrPress Shift_L\nKeyStrPress Tab\nKeyStrRelease Tab\nKeyStrRelease Shift_L' | xmacroplay :0 &"))<br />(xbindkey-function '("b:1") reset-first-binding)<br />(grab-all-keys))<br />(debug)<br />(grab-all-keys)<br />(first-binding)<br /><br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />; End of xbindkeys configuration ;<br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br /><br /></pre><br /></span><div style="text-align: justify;"><span class="fullpost">I'm looking for a way to alt + tab through the application windows using the scroll wheel but I can't get this working. Suggestions are welcome<br /><br /><span style="font-weight: bold;">Related Posts:<br /></span><a href="http://computers-stuff.blogspot.com/search/label/mx1000">Mouse setup in linux links</a><span style="font-weight: bold;"><br /></span></span></div>Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-10051869.post-87359008848426730862007-06-02T13:21:00.000-07:002007-06-12T03:55:56.466-07:00setup of the MX1000: .xbindkeysrc with xmacroplay<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjliptoxYDlPVJXKXi8rhinjLPa6urGsd6YtykH5M2BybyalCERHSq91hDNDxZPqthHhWz_6LylzVWm1ZRRYgL0CDufc_Yq0479GmcQIUnZvKos43bjrY9qzUE7HpUvgPJIZ2v9EA/s1600-h/logitux.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjliptoxYDlPVJXKXi8rhinjLPa6urGsd6YtykH5M2BybyalCERHSq91hDNDxZPqthHhWz_6LylzVWm1ZRRYgL0CDufc_Yq0479GmcQIUnZvKos43bjrY9qzUE7HpUvgPJIZ2v9EA/s320/logitux.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5071567327798608098" /></a><br /><div style="text-align: justify;"> <br /><span class="postcap">B</span>inding mouse events of the thumbbuttens to XVkdb by xbindkeys kind of sucks. I makes Firefox freeze. Hers my new .xbindkeyrc using xmacroplay.<br /><span class="fullpost"><br />Ok, this is my .xbindkeysrc<br /><pre><br /># Backward and Forward buttons<br /># "xvkbd -text "\A\[Left]"" # freezes firefox and makes mouse cursor jump<br />"echo -e 'KeyStrPress Alt_L\nKeyStrPress Left\nKeyStrRelease Left\nKeyStrRelease Alt_L' | xmacroplay :0 &" #better<br /> m:0x10 + b:8"<br />#"xvkbd -text "\A\[Right]""<br />"echo -e 'KeyStrPress Alt_L\nKeyStrPress Right\nKeyStrRelease Right\nKeyStrRelease Alt_L' | xmacroplay :0 &"<br /> m:0x10 + b:9<br /></pre><br />the idea was stolen from <a href="http://www.tuxfutter.de/wiki/Tastenk%C3%BCrzel_unter_X">Stephan Reichelt</a> Nice Work!<br />Get <a href="http://xmacro.sourceforge.net/">xmacro sources</a> and make. copy xmacroplay to /usr/bin. I couldn't find a Suse rpm for this. <br /><br />Related Posts<br /><a href="http://computers-stuff.blogspot.com/2007/06/how-logitech-mx1000-setup-works-in.html">MX1000 Setup</a> <br /><a href="http://computers-stuff.blogspot.com/2007/06/logitech-mx1000-lasermouse-setup.html">MX1000 setup part 2</a><br /></span><br /></div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-10051869.post-49941406098787302562007-06-02T03:40:00.001-07:002007-06-03T14:09:43.222-07:00How the Logitech MX1000 setup works in OpenSuse 10.2<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjliptoxYDlPVJXKXi8rhinjLPa6urGsd6YtykH5M2BybyalCERHSq91hDNDxZPqthHhWz_6LylzVWm1ZRRYgL0CDufc_Yq0479GmcQIUnZvKos43bjrY9qzUE7HpUvgPJIZ2v9EA/s1600-h/logitux.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjliptoxYDlPVJXKXi8rhinjLPa6urGsd6YtykH5M2BybyalCERHSq91hDNDxZPqthHhWz_6LylzVWm1ZRRYgL0CDufc_Yq0479GmcQIUnZvKos43bjrY9qzUE7HpUvgPJIZ2v9EA/s320/logitux.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5071567327798608098" /></a><span class="postcap">S</span>ome more information about the setup of the MX1000 lasermouse in OpenSuse. Its a guide to use lomoco and keybindings with xbindkeys in conjunction with xvkdb.<br /><div style="text-align: justify;"><span class="fullpost"><br /><br /><br /><br />In Suse 10.2 udev detects the mx1000 with this ruleset found in:<br /><span style="font-weight: bold;">/etc/udev/rules.d/40-lomco.rules<br /><br /></span><pre># "C-BN34", "Receiver for MX1000 Laser"<br />BUS=="usb", SUBSYSTEM=="usb_device", SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c50e", RUN="/lib/udev/lomoco.sh"<br /></pre><br />Then it runs the script:<br /><span style="font-weight: bold;"><br />/lib/udev/lomoco.sh</span><br /><br /><br />This script takes options for smartscroll enable/disable and resolution from this cofnig file:<br /><span style="font-weight: bold;"><br />/etc/sysconfig/logitech_mouse<br /><br /><br /></span>So this is probalby the place to modify the <span style="font-weight: bold;">lomoco</span> settings at boot time systems wide.<br />For keybinding you can use <b>xbindkeys</b> it is a package of OpenSuse and you don't need to compile and install <span style="font-weight: bold;">lmwheels.</span> Its not maintained any more from what I understand. But check yourself if in doubt. Create <span style="font-weight: bold;">.xbindkeysrc</span> in you homedir with<br /><br /><pre># 'xbindkeys --defaults > /home/yourhomedir/.xbindkeysrc'.<br /></pre><br /><br />Now edit <span style="font-weight: bold;">.xbindkeysrc</span> and add the following lines:<br /><br /><pre># Application-toggle button<br />"xvkbd -text "\[Alt_L]\[Tab]""<br />m:0x10 + b:10<br /># Backward and Forward buttons<br />"xvkbd -text "\[Alt_L]\[Left]""<br />m:0x10 + b:8<br />"xvkbd -text "\[Alt_L]\[Right]""<br />m:0x10 + b:9<br /></pre><br />The <b>.xbindkeyserc</b> was stolen with modification from <a href="http://blog.blackdown.de/2006/01/15/updated-logitech-mx1000-configuration/">here</a> So how it works is that <span style="font-weight: bold;">xbindkeys</span> traces the events you trigger by pressing keys. When it catches a defind event then it launches an application which is here above the respective event in the .xbindkeysrc. In our case of the mouse events it starts <span style="font-weight: bold;">xvkbd</span> which is a virtual keybord that sends keyboard events to the xserver you define behind the <span style="font-weight: bold;">-text</span> optons. you kould define any keystroke you like instead the events here. For <span style="font-weight: bold;">lmwheels</span> you could probably define different keystrokes depending on the application you use the mouse in if you need it The b:10 and b:8 and so on are the mouse events where the number is the event the mouse sends. Here I created a listo of <a href="http://computers-stuff.blogspot.com/2007/06/logitech-mx1000-lasermouse-setup.html">events triggerd by the MX1000 buttons</a> if you need to know which number you need to use. Now execute <b>xbindkeys</b> and test the key bindings.<br /><br />When satisfied you can make an autostart entry in your KDE Atotstart folder to start xbindkeys each time you boot. To do so execute e.g.:<br /><br /><pre># ln -s `which xbindkeys` `kde-config --userpath autostart`<br /></pre><a href="http://del.icio.us/insubordination/mouse">links to lots of mouse setup guides</a><br /><br />Technorati Tags: <a rel="tag" href="http://technorati.com/tag/Linux" class="performancingtags">Linux</a>, <a rel="tag" href="http://technorati.com/tag/MX1000" class="performancingtags">MX1000</a>, <a rel="tag" href="http://technorati.com/tag/Guide" class="performancingtags">Guide</a><br /></span><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10051869.post-34501055771041447452007-06-01T14:59:00.000-07:002007-06-12T04:00:35.209-07:00Logitech MX1000 USB mouse configuration / setup for X11 in OpenSuse 10.2 linux<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjliptoxYDlPVJXKXi8rhinjLPa6urGsd6YtykH5M2BybyalCERHSq91hDNDxZPqthHhWz_6LylzVWm1ZRRYgL0CDufc_Yq0479GmcQIUnZvKos43bjrY9qzUE7HpUvgPJIZ2v9EA/s1600-h/logitux.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjliptoxYDlPVJXKXi8rhinjLPa6urGsd6YtykH5M2BybyalCERHSq91hDNDxZPqthHhWz_6LylzVWm1ZRRYgL0CDufc_Yq0479GmcQIUnZvKos43bjrY9qzUE7HpUvgPJIZ2v9EA/s320/logitux.jpg" alt="" id="BLOGGER_PHOTO_ID_5071567327798608098" border="0" /></a><span class="postcap">T</span>he MX1000 Lasermouse is supported pretty well by OpenSuse. It was just a little hard to find out what you need. Here I write how I did the setup of the MX1000<br /><div style="text-align: justify;"><span class="fullpost"><br /><br /><br /><br /><br /><br /><br />To support all mouse buttons of a modern USB mouse like the Logitech MX1000 lasermouse in X11 I use the evdev driver. This driver is compiled into X11 by Suse linux so you just need to activate that driver. To do this I first modified the /etc/X11/xorg.conf now it looks like: <pre><br />Section "InputDevice" <br /> Identifier "Mouse0"<br /> Driver "evdev"<br /> Option "evBits" "+1-2"<br /> Option "keyBits" "~272-287"<br /> Option "relBits" "~0-2 ~6 ~8"<br /> Option "Pass" "3"<br />EndSection</pre><br />The options are stolen from the man page of evdev and are said to work for virtually any mouse. forget all about these mapping and ZAxixMapping Options, they are not supported by evdev, Check the manpage. In some forums you can read to use Options protocoll evdev. But this is obsolete and only used for older veresions of evdev. However, the identifier Mouse0 is crucial I guess, since with another identifier like mouse[0] the xserver refused to start. My explaination is that is has to match the entry in /dev/input/mouse0. This entry (node) done by udev. The configuratin is probalbly done at installation of Suse. <a href="http://www.pc-forum24.de/suse-treiber/3920-geloest-evdev-und-suse-10-2-x64.html">Sombody</a> wrote that Suse 10.2 does not support evdev any more. I think this is not true. You don't need to load it as a kernel module. evdev is compiled into the Xorg server.<br /><br /></span><span class="fullpost">I use <a href="http://lomoco.linux-gamers.net/">lomoco,</a> to control the feaures of the MX1000 lasermouse. </span><span class="fullpost"><span style="font-weight: bold;">lomoco </span>is installed per default, it can be used to incerase the resolution from 400dpi (default) to 800 dpi:<br /><pre># lomoco -8</pre> and to turn on/off smart scrolling <pre><br /># lomoco --sms<br /># lomoco --no-sms<br /></pre></span><span class="fullpost">in Suse linux <span style="font-weight: bold;">/etc/sysconfig/logitech_mouse</span> holds the configruation file of the lomoco config scrip that is executed on detection of a logitech mouse to <a href="http://computers-stuff.blogspot.com/2007/06/how-logitech-mx1000-setup-works-in.html">configure smart scrolling and resolution of Logitech mice at startup</a>.</span><br /><span class="fullpost"><br /><br />What happens when you hit a mouse key depends on the xevent that is triggered and translated by the application into action. The <span style="font-weight: bold;">xev </span>command can be used to decipher the events triggerd by the mouse buttons. these xevents are generated by the mouse depending on sms or no-sms (use <pre># xev</pre> in a console to test):<br /><pre><br />button event with smart scroll event without smart scroll<br />left 1 1<br />wheel pressed 2 2<br />right 3 3<br />wheel up 4 4<br />wheel down 5 5<br />wheel tilt right 6 14<br />wheel tilt right release 14 n/a<br />wheel tilt left 7 13<br />wheel tilt right release 13 n/a<br />thujb back 8 8<br />thumb front 9 9<br />app change 10 10<br />smart scroll up 4(as long as hold down) 11<br />smart scroll up release 11 n/a<br />smart scroll down 5(as long as hold down) 12<br />smart scroll down release 12 n/a<br /></pre><br />this is a list of x events triggerd by the mousbuttens in different modes of the logitech mouse.<br />Intersitng to note that although the MX1000 is a 12 button mouse (10 button + two for the wheel) the mouse can generate 14 events. So actually these Options Buttons 12 you can find in many forums are probably wrong anyway.<br /><br /><span style="font-weight: bold;">Xmodmap </span>is used to remap the events of the mouse to other events. This technique comes in handy when an application has a hard wired reaction to a mouse event, but you want to trigger that event by another moue button. So what xomodmap does is to translate one event to another and sends that event to the application instead of the original. For example you could use xmodmap to map the thumbbuttons 8 and 9 on xevents 7 and 8 by<br /><pre># xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16 17 18 19 20"</pre>In this row the position of the digit is the value of original x event and the value is the new xevent that will be sent in case that event is trigged, in this matter </span><span class="fullpost">(digit at position 6 has the value 8) </span><span class="fullpost">event 6 (tilt mouse wheel with smart scroll enableled) will be mapped to event 8 (thumb button) . Event 8 (thumb button) is now tranlated ot event 6 (tilt mouse wheel)<br />This above mapping is interesting since firefox can be configured to do horizontal scrolling or to scroll </span><span class="fullpost">forward and backward</span><span class="fullpost"> history on events 6 and 7 depending on the about:config settings when you don't need horizontal scrolling a lot. . This is the default setting (</span><span class="fullpost">type about:config in the adress field of firefox to check, </span><span class="fullpost">I used Firefox 2.0 here) which does history scrolling on events 6 and 7 , that are usually the events triggered by the horizontal mouse wheel in X11.<br /><pre>mousewheel.horizscroll.withnokey.action Standart Integer 2<br />mousewheel.horizscroll.withnokey.sysnumlines Standard boolean false</pre> of course you can also do horziontal scrolling now with the thumb buttons if you like but you have to change Integer to 1 and boolean to true.<br /><br />Other customizations of mouse xeve</span><span class="fullpost">n</span><span class="fullpost">ts that x applications do not recoginze by default can be done by <a href="http://imwheel.sourceforge.net/"><span style="font-weight: bold;">imwheel </span></a>or <a href="http://computers-stuff.blogspot.com/2007/06/how-logitech-mx1000-setup-works-in.html"><span style="font-weight: bold;">xbindkeys </span>in combinatin with </a><span style="font-weight: bold;"><a href="http://computers-stuff.blogspot.com/2007/06/how-logitech-mx1000-setup-works-in.html">xvkdb</a> </span>or <a href="http://computers-stuff.blogspot.com/2007/06/my-xbindkeysrcscm-configruationf-file-i.html"><span style="font-weight: bold;">xbindkeys </span>in combination with<span style="font-weight: bold;"> xmacroplay</span></a><br /><br /><span style="font-weight: bold;"></span></span><span class="fullpost"><a href="http://imwheel.sourceforge.net/"><span style="font-weight: bold;">imwheel </span></a></span><span class="fullpost"><span style="font-weight: bold;"></span>: imwheel will directly translate mouse events to (virual) keystrokes (or xevents) that are sent to and recognized by the application. e.g. alt + left will scroll one item back in history of firefox and you can configure imwheel to sent this keystrokes to the application when the thumb buttons are pressed which are not recognized by default. The advantage of imwheels is that it can be configured to send different keystrokes when a different application is used and that it doesen't need helper applications.<br /><br /><span style="font-weight: bold;"><a href="http://hocwp.free.fr/xbindkeys/xbindkeys.html">xbindkeys</a>: </span>xbindkeys is usually used to execute applications when a<span style="font-weight: bold;"> </span>key or a combination of keys is pressed. </span><span class="fullpost">This is usually referred to as keyboard shortcuts. </span><span class="fullpost">The advantage over imwheels is that it is highly configurable. You can use chord keys with the mouse and you can change the keybindings on the fly. With the mouse it can be used to execute an application that itself sends (virtual) keystrokes (or xevents) to an application similar to imwheel. Applications that are capable of sending virual keystrokes would be <a href="http://homepage3.nifty.com/tsato/xvkbd/"><span style="font-weight: bold;">xvkdb </span></a>and <a href="http://xmacro.sourceforge.net/"><span style="font-weight: bold;">xmacroplay</span>.</a> I prefer to use xmacroplay since it is lightwight, quicker and causes less overhead when mouseevents are triggered in rapid fashion.</span><span class="fullpost"><br /><span style="font-weight:bold;"><br />Related Posts:</span><br /><a href="http://computers-stuff.blogspot.com/search/label/mx1000">MX1000 Lasermouse </a><br /><span style="font-weight:bold;"><br />Usefule mouse setup links</span>:<br /><a href="http://del.icio.us/insubordination/mouse">linklinst of Lots of linux mouse setup guides:</a><br /><br /><br /></span><br /></div>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-10051869.post-67742138899060397172007-05-29T13:06:00.000-07:002007-05-31T08:52:49.158-07:00Customizing Blogger "Post a comment" link and open it in a Popup Window<div style="text-align: justify;"><br /><span class="postcap">T</span>he "post a comment line" can not be customized using the classical <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOcGXpOTSzXJizppdjb3mXR67bxyHZ2OeeAlsGXYwLr5FT4mJvh65wQ3cIbJXCPNxEsHi3E6YA17xVwtSSfb_IXitjKeOG6cCxPWcjSjg1RsFImc1qEEUuQFAZwJzg8TAg0nrD_A/s1600-h/popup.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 80px; height: 122px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOcGXpOTSzXJizppdjb3mXR67bxyHZ2OeeAlsGXYwLr5FT4mJvh65wQ3cIbJXCPNxEsHi3E6YA17xVwtSSfb_IXitjKeOG6cCxPWcjSjg1RsFImc1qEEUuQFAZwJzg8TAg0nrD_A/s320/popup.jpg" alt="" id="BLOGGER_PHOTO_ID_5070231286917196690" border="0" /></a>layout in blogger unless you hack your template as described <a href="http://help.blogger.com/bin/answer.py?answer=42192&query=comment&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;topic=&type=f">here</a>. So if you like the "post a comment" form open in a new Window than this solution is ok. The option to open it in a popup window is not documented. Here I discribe how the customized link can be hacked to open the blogger comment form in a a popup window on click.<br /><span class="fullpost">First you have to <a href="http://help.blogger.com/bin/answer.py?answer=42192&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;query=comment&topic=&type=f">follow the instructions of bloger help</a> and find out your Blog ID. If you want to open the post comment field in a new window you could use the code as suggested by blogger. It should look similar to this:<br /><pre><a href="http://www.blogger.com/comment.g?blogID=1234567&postID=<$BlogItemNumber$>">You want to talk to me?</a></pre><br /><br />where 1234567 should be replaced by you blog id and "You want to talk to me?" by the line you want to appear as the link to you comments form of you blog.<br />However, there is no way documented to open that form in a pop up window with a customized link. To do that you have to replace <span style="font-weight: bold;"><$BlogItemCreate$></span> with the following code in your template:<br /><pre><a class="comment-link" href="http://www.blogger.com/comment.g?blogID=1234567&postID=<$BlogItemNumber$>&amp;isPopup=true" onclick="window.open(this.href, 'bloggerPopup', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=400,height=450');return false;">You want to talk to me?</a></pre><br />Again, you have to edit 1234567 to match your blog ID and replace "You want to talk to me?" by the text you want to appear as the link to your comments input form.<br />Try yourself >> <a class="comment-link" href="http://www.blogger.com/comment.g?blogID=10051869&postID=6774213889906039717&isPopup=true" onclick="window.open(this.href,'bloggerPopup','toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=400,height=450');return false;">You want to talk to me?</a><br />Et voilá, if you now click on the link your comments form will open in a popup<br />window.<br /></span></div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-10051869.post-28478407944220515832007-05-29T07:13:00.000-07:002007-05-30T05:42:02.293-07:00The Novell Microsoft deal<div style="text-align: justify;"><br /><span class="postcap">I</span> have read about that windows Novell deal. Since I use OpenSuse I am a little concerned about that thing. What is all this Linux Novell Microsoft thing about. I understand that Microsoft and Novell siged an agreement, but I'm not positive about the reasons why. What will be the long term goal of Microsoft and Novell concerning open source, what would a scenario look like where Microsoft could achiever ther goals concerning the open source community.<br /><span class="fullpost"><br />To start this analysis we first have to collect a few thing we know about Microsoft:<br /><ol><li>We now that Novell is sells server applications and systems that integrate into Windows architecture.<br /></li><li>We know that Microsoft is a hostile Company strieving to dominate the market. Microsoft has used its markt power to desroy competitors</li><li>Microsoft trys to replace exisiting standards by their own standards or to establish their own proprietary standards on the market.</li><li>Microsoft has never been innvoative, they have always been reactive in developping standards and software and they only distribute closed source code. Patents are usually based on innovations and coping copyrighted code usually needs knowledge of the source code its unlikely that open source is using windows copyrighted code.<br /></li><li>Microsoft is leader as a provider for desktop systems but is completely out of the loop when it comes to server systems.</li><li>Xen Virtualisation is more suitable for server systems</li><li>If you want to migrate from one opteration system to the other it might be helpful to be able to operate both systems on the same mashine the same time.</li></ol>From the above mentioned facts I can not imagine that Microsoft is likely to cooperate with to open source communitiy. They are trying to gain momentum on the server market wich is at the moment dominated the open source community. Though it is understandable from the Novell history that they want to support micorsoft operating systemes and that it might be useful for them for marketing purposes right know. However, it is highly likely that Novell will become unwillingly the Trojan horse that Microsoft will unleash to destroy the Open Sorce community. Without beeing supported by the open source community I am pretty sure that microsoft would have disapeard from the surface of our earth but now things are different.<br />Microsofe states that it will cooperate with tha open source community on the development of cross platform solutions but in reality they are trying to sneak in proprietary code maintained by Novell Suse and my be OpenSuse which will be indespensible for the function. In parallel they will and promote it and market it untill it they have a market share their system becomes the standard and nobody can use untainted openssource any more.<br />In conclusion I think it might be the strategy of Microsoft to take over the open source and taint it with closed source and then continue to maintain the code by themselves. As a result Microsoft has taken over the Linux project ....<br /><br />Have fear .... <br /><br /></span><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10051869.post-33901436168672629952007-05-27T01:52:00.000-07:002007-06-02T14:09:16.082-07:00Linux toolbox: useful basic console commands to start using Linux<div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUl0ShdX-iOKdPOOSP2z8vJ6gA4qv2iJbfNr1TWRlHZp_TJUTf47Q7_kujsenzknYyRDkUDVdYPceDwIUIWJ4EnvtQbTSVY5252bpe-cDgFwgcl6EeIOu8lzOZR2Q5siCG_G2MDg/s1600-h/127.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUl0ShdX-iOKdPOOSP2z8vJ6gA4qv2iJbfNr1TWRlHZp_TJUTf47Q7_kujsenzknYyRDkUDVdYPceDwIUIWJ4EnvtQbTSVY5252bpe-cDgFwgcl6EeIOu8lzOZR2Q5siCG_G2MDg/s200/127.jpg" alt="" id="BLOGGER_PHOTO_ID_5069366297683651426" border="0" /></a><span class="postcap">L</span>Linux features an extremely powerful command line interface with an amount of commands available that windows users can only dream of. Most of the time I think the command line is faster, more flexible and powerful than any grafical user interface (GUI), especially when it comes to system administration. However, for me as a beginner it was a struggle to find and understand the basic commands you need to maintain and configure a linux desktop. Thus, I decided to write down the commands I personally found to be most frequently used. Maybe this is a kick start for some users who start to use Linux.<br /><span class="fullpost"><br /><span style="font-weight: bold;">General syntax remarks</span><br />First of all its important to know that linux commands usually accept options which come after the command itself. The short form of the option is usually preceded by a - (one hyphen) and the long form by -- (two hyphens). If you are not sure what a command does or what its syntax is type the command followed by -h ore --help. eg:<br /><pre><br /># man -h<br /># man --help<br /></pre><br />this will remind you of the syntax and options the command man accepts<br /><span style="font-weight: bold;">man</span><br />man is a lifeline for linux. man brings up the manual or man page of any command available on your system instructing you how to use that command and what it is doing. So if you stumble upon a command and you don't now how its used or what its doing then type man in combination with the command you need the information about. For example if you want to know what - man - does or which options for - man - are available type:<br /><pre># man man</pre><br /><span style="font-weight: bold;">cd</span><br />cd is use to change the current directory. If you want to change to the root directory type<br /><pre># cd /</pre><br />The prompt will show you the directory you're currently in. Typing cd followed by two dots (..) will bring you one level up in the directory tree.<br /><pre># cd ..</pre><br />Typing cd with out any options will bring you to your home directory.<br /><span style="font-weight: bold;">the tab key</span><br />hitting the tab key in the console will expand your input depending on the context youre using it in. e.g. linux is trying to guess what you want to type. So if you type m and the tab key linux will list all available commands starting with m. The tab key is particularly useful if you're typing long directory path-names. just type the initial letters and then press the tab key to see if linux can already expand your input to full length.<br /><br /><span style="font-weight: bold;">tab tab<br /></span>hitting the tab key twice will list you all posible input options in the context your just in.<br /><br /><div class="fullpost"><span style="font-weight: bold;">CTRL + C</span><br />pressing ctrl and c at the same time breaks a programm you starte from the command line.<br /><br /><span style="font-weight: bold;">up-arrow and down-arrow key</span><br />the up-arrow will bring up your recent iput commands. the down-arrow does the oposite. this way you can browse your input history.<br /><br /><span style="font-weight: bold;">Shift page-up and shift page-down<br /></span>use this to scroll up and down the console text.<br /><br /><span style="font-weight: bold;">CTRL Alt F1, CTRL Alt F2, CTRL Alt F3 ....CTRL Alt F7</span><br />pressing CTRL Alt and one of the function keys F1 - F7 lets you swich to other consoles. The GUI (X window) lives in consel F7<br /><br /></div><br /><span style="font-weight: bold;">su</span><br />If you're working in a console you started from a Xwindow console and you need root access to you system you can use the su command: su will prompt you for the root password and than log you in to a root console.<br /><pre># su -c "somecommand"</pre><br />will ask you for your your root password to execute somecommand with root privileges and will exit right after the command has finished. This is useful if you need the root privileges for only a few commands.<br /><span style="font-weight: bold;"><br />ls</span><br />this will give you a short list of the directory your currently in. it will return only the directory names.<br /><span style="font-weight: bold;"><br />ll</span><br />this will give you a long list of the directory your currently in. it will retrurn the file and directory names including the respective owner and group.<br /><span style="font-weight: bold;"><br />l</span><br />will give a similar output like ll put will also list hidden files and directories which are usually preceded by a . (dot).<br /><span style="font-weight: bold;"><br />tar</span><br />this command comes in handy if you need to extract tar archives. A lot of software for linux is dirtributed as tar archives.<br /><pre># tar xvzf somefile.tar.gz</pre><br />This is the command you will usually have to use to extract an tar.gz archive of the name e.g. somefile. the option x means extract, v triggers the the output of all extracted filenames, z tells tar that is has to extract a zipped archive and the flag f inicates that the filname of the archive to be processed follows.<br /><span style="font-weight: bold;">chown</span><br />this will set the owner of a file or directory e.g.<br /><pre># chown me somefile</pre><br />This will set the owner of somefile to be me. Test if successful with:<br /><pre># l somefile</pre><br /><span style="font-weight: bold;"><br />chgrp</span><br />this will set which group a file or directory belongs to e.g.<br /><pre># chgrp users somefile</pre> will set the group of somefile to be users.<br /><span style="font-weight: bold;"><br />chmod</span><br />chmod is used to set if a file is writeable (w) readable (r) or execuatable (x) by owner, member of the group and the world. look for example at the following line of the ll output:<br /><pre>-rw-r--r-- 6 root root 4096 26. Mai 14:56 somefile </pre><br />The first is a hyphen since this is a file. d would indicate a directory and l a link. the first triplet rw- sets the rights for the owner of this file which is root as indicted by the first entry in the list which is the owner. Hes allowed to read and write this file but not to execute it. The second triplet r-- indicates that members of the group root can read and execute this file but not write to it. The same access ist granted to this file to all others which is set by the last triplet of letters r--. now we assume you want to make this file executable. to do this you could use e.g.<br /><pre>chmod a+x somefile</pre><br />In addition you want to allow members of the group root to write to this file. this could be done by<br /><pre>chmod g+w somefile</pre><br /><a href="http://www.zzee.com/solutions/linux-permissions.shtml">In depth information about Linux permissions</a><br /><br /><span style="font-weight: bold;">md</span><br />This command is used to create a directory with the name somedir<br /><pre># md somedir</pre><br /><span style="font-weight: bold;">rd</span><br />This command is used to remove somedir. this works only if the directory is empty<br /><pre># rd somedir</pre><br /><br />If you want to remove a directory with all its contained files and subfolders you could use<br /><pre># rm -r somedir</pre><br /><span style="font-weight: bold;">rm</span><br />This command is used to remove a file with the name somefile<br /><pre># rm somefile</pre><br />It can also be used to remove folders with all its contents:<br /><pre># rm -r somedir</pre><br /><span style="font-weight: bold;">find</span><br />Find is useful if you know the name of a file or directory but can't remeber where that file lives. to search your complete directory tree for somefile type<br /><pre>find / -name somefile</pre><br />To find all files of a certen kind e.g. jpg files which end in .jpg use the asterisk * e.g.<br /><pre>find / -name *.jpg</pre><br /><span style="font-weight: bold;">lsmod</span><br />Sometimes to install hardware and stuff you need to know which modules are loaded. typing lsmod will return you a list of loaded modules. this list can be rather long so if you're looking for a module you know the name of grep in combination with a pipe comes in handy<br /><span style="font-weight: bold;">| (the pipe)</span><br />The commands you used so far read from the standard input and print the output to the standard output which is usually the console so you can read it. But sometimes you prefer to redirect the output form the standardout to the standard input of a second command to process it further. this can be done by a pipe. To commands are linked together by a pipe in this way, e.g.:<br /><pre># onecommand | nextcommand</pre><br />This will send the output of onecommand to the nextcommand wich will do some further processing and sends the output to the standard out which usually happens to be your console.<br /><span style="font-weight: bold;">grep</span><br />grep will help you to find lines containig some letters or words your interested in. So if you want to know if somemodule is loaded in your mashine you could type:<br /><pre># lsmod | grep somemodule</pre><br /><span style="font-weight: bold;">grep</span> is also useful if you want to search your logfiles for messages your interested in if you use it in combination with cat.<br /><span style="font-weight: bold;"><br />cat</span><br />Cat will print the contents of a file to the standard output which is usually your console.e.g.<br /><pre># cat /var/log/messages</pre><br />Will print the content of your messages logfile.this can be quite long. So if you you are only interested in lines of your log file that contain somephrase you could use :<br /><pre># cat /var/log/messages | grep somephrase</pre><br />to filter the output of cat<br /><span style="font-weight: bold;">tail</span><br /><span style="font-weight: bold;">tail</span> somefile outputs the last ten lines of somefile. The -f option will print updates to the file directly to the console so you can trace whats going on. e.g.<br /><pre># tail -f /var/log/messages</pre><br /><span style="font-weight: bold;">head<br /></span>head does pretty much the same as tail but outputs the first ten lines<br /><span style="font-weight: bold;">dmesg</span><br />This prints out all your kernel messages. Checking kernel messages is good for debugging, e.g. if some modules failed to load. this is how the linux kernel talks to you and tells you what he has been seeing.<br /><span style="font-weight: bold;"><br />write standard output to file ></span><br />sometimes you may need to post parts of your logs to a newsgroup for debugging purposes. To do this you can write the output of cat piped through grep to a file e.g.<br /><pre># cat /var/log/messages | grep somephrase > news.txt</pre><br />and the post the output which you can find in news.txt<br /><br /><span style="font-weight: bold;">CTRL + Z<br /></span>pressing ctrl and z at the same time will interupt a programm and fork it to background you started form the command line and that is still running. Use the command fg to bring it back to the foreground or bg to continue the program in the background.<br /><br /><span style="font-weight: bold;">shutdown</span><br />shutdown without options does pretty much what you expect. interesting options are:<br /># shutdown -h now does preety much the same as:<br /># halt<br />this asks all applications to gracefully exit and stops all processes in an ordered fashion.<br /># shutdown -r now<br />this will reboot the system. Does pretty much the same as<br /># init 6<br /><br /><span style="font-weight: bold;">init</span><br /><br />this is useful for switching runlevels<br /># init 5<br />Initiates the runvlevel with everything, network firewoall GUI login and the like.<br /><br /># init 3 swichtes to a lowere runlevel and stops Xserver and GUI. this is good for debugging of Xserver.<br /><span style="font-weight:bold;">kill</span><br />Use kill to terminate a process.<br /><pre>kill -term pid</pre><br />where pid has to be replaced by the process id. you can find out about the process id by typing:<br /><pre>ps aux</pre><br />use in combination with grep to reduce output<br /><br /><span style="font-weight: bold;">Some Links to Guides to start with:</span><br /><a href="http://www.tldp.org/LDP/intro-linux/html/intro-linux.html#chap_02">Linux Quickstart</a> More absolute Basic you'll need for Linux<br /><a href="http://blog.lxpages.com/ultimate_network.html">Network commands</a>: list of commmands and short explaination<br /><a href="http://blog.lxpages.com/ultimate_linux.html">Console commands</a> list of console commands and brief explaination.<br /><a href="http://howtos.linux.com/guides/Intro-Linux/">start with linux</a> If you are interested to operate Linux than this would be a good point to start.<br /><a href="http://howtos.linux.com/guides/sag/">system administrator guide</a> This is a good guide to learn how to administrate your linux<br /><a href="http://howtos.linux.com/guides/Linux-Filesystem-Hierarchy/">the file system</a> learn where Linux stores stuff<br /></span><br /></div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-10051869.post-16474027579451868702007-05-26T14:25:00.000-07:002007-06-12T09:57:04.663-07:00Installation and setup of the em28xx linux driver for analogue devices like the PCTV analog USB 2 (150e/55e) in opensuse 10.2<div style="text-align: justify;"><br /><span class="postcap">I</span>have an old Pinnacle analog USB video grabber device which I bought some time ago for no particular reason. I tested It in windows but picture quality and software sucked. Channel switching took forever and nothing worked the way I wanted it to, so I stopped using it. But now I tried to install it in OpenSuse Linux just for the hack of it. Here I write my experiences with this device.<br /><span class="fullpost"><br />First I have to say that Linux actually supports this device and the picture quality of the linux driver and tv sofware is much better than that provided by pinnacle for windows. So if you want to use this PCTV analog usb its well worth switching to linux.<br /><br />The PCTV analog USB is em2820 videodecoder chip based vido grabber with an LG TAPE series tuner. I once cracked it open to see <a href="http://computers-stuff.blogspot.com/2007/05/pinnacle-pctv-analog-usbpctv-usb2.html">the chips inside the PCTV analog USB 105e 55e</a><br /><br />If you want to use the 150e/55e with OpenSuse 10.2 the em28xx driver which is a successor of the em2820 is the right choice. As far as I understand it, this driver is part of the v4l project and is maintained by <a href="http://www.wikiservice.at/dse/wiki.cgi?MarkusRechberger">Markus Rechberger</a>, Mauro Carvalho Chehab, Aapo Tahkola, Ludovico Cavedon, Sascha Sommer, Aidan Thornton. Thanks to them we can now use this budged video grabber with a great quality driver.<br /><br />The em28xx is loaded as a kernel module in OpenSuse 10.2 as soon as a PCTV analog USB is connected to a USB port. It then automatcally creates device nodes /dev/dsp (digital audion/pcm) and /dev/video (raw video).<br /><br />You first have to update the em28xx driver that comes out of the box of OpenSuse 10.2, this means you have to compile them from source and install them. This sounds harder than it is, so don't get scared. The result is well worth the effort.<br /><br />The updated drivers from may 2007 will allow you to use the following software in addition to mplayer which is also supported by the old Suse driver:<br /><br />MythTV, TVtime, Kdetv, freevo. In addition the picture quality is markedly improved, setting the resolution of the grabbed video image and setting of the correct videonorm is now possible. Last but not least <a href="http://computers-stuff.blogspot.com/2007/05/pctv-analog-usb2-devvbi-device-or.html">no VBI device is initialized any more which might also cause some strange errors</a>.<br /><br /><span style="font-weight: bold;">To update the driver you will have to install gcc, kernel-sources, kernel-headers and mercurial packages using your favorite packet manager e.g. yast2 for OpenSuse. In addition you need SOX for the operation of the digital audio.</span> Now you are prepped to download and build the drivers. This is quite easy since the PCTV analog USB 150e 55e doesen't need firmware or any kind of DVB support like DVB cards would require which are also supported by the em28xx. To dowload the sources and to build the driver type:<br /><pre># hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel<br /># cd v4l-dvb-kernel<br /># make<br /># make ./install</pre>If this driver update doesen't solve your problem then you might consider to try the experimental tree of the driver:<br /><pre># hg clone http://mcentral.de/hg/~mrec/v4l-dvb-experimental<br /># cd v4l-dvb-kernel<br /># make<br /># make ./install</pre><br /><br />Markus Rechberger also suggested somwhere (cant remember the link, though) to reinstall the media/lib to troubleshoot problems with using tvtime. This helped me too to get TVtime working. This could be done by:<br /><br /><pre># rm -rf /lib/modules/`uname -r`/kernel/drivers/media</pre><br />and then reinstalling the drivers. May be that will help if you are experiencing problems which can't be solved otherwise.<br /><br />In OpenSuse the module (modprobe or insmod) options live in /etc/modprobe.d/tv. The driver has to be loaded to with the correct options so that It will support the PCTV correctly. My /etc/modprobe.d/tv looks like this:<br /><pre>alias char-major-81 videodev<br />alias char-major-81-0 off<br />alias char-major-81-1 em28xx<br />alias char-major-81-2 off<br />alias char-major-81-3 off<br />options em28xx card=8 tuner=47 disable_ir=0</pre><br /><br />All available valid <a href="http://computers-stuff.blogspot.com/2007/05/howto-solve-pctv-analog-usb-2-150e55e.html">insmod options for card= and tuner= for em28xx</a> are listed <a href="http://computers-stuff.blogspot.com/2007/05/howto-solve-pctv-analog-usb-2-150e55e.html">here</a><br /><br />Without the tuner=47 option I could not tune UHF channels with my device.<br /><br /><span style="font-weight: bold;">Testing video playback</span><br /><br />If you have mplayer installed then you can use it to test for correct setup. An mplayer command which is successfully used to start mplayer for tv playback was:<br /><pre># mplayer -tv device=/dev/video0:amode=0:input=0:norm=PAL:driver=v4l2:outfmt=yuy2 tv://E6</pre> this should tune channel E6 and open a tv window. Use h and k to switch channels. Note that /dev/video0 has to be adjusted to match your PCTV videograbber. It might also be /dev/video1 or the like if you have multiple video input devices.<br /><br />This one starts mplayer with audioplayback enabeled without the need of SOX<br /><pre># mplayer -tv driver=v4l2:device=/dev/video0:amode=1:input=0:norm=PAL:adevice=/dev/dsp1:immediatemode=0:audiorate=48000 tv://</pre> Note that /dev/dsp1 needs to match the Audioinput of your PCTV Videograber. It might be /dev/dsp0 or the like.<br /><br /><span style="font-weight: bold;">Audio setup</span><br />The PCTV analog USB features no analog output which you could plug into the line in input of your audio card. The PCTV features digital audio (PCM) which has to be piped to the digital sound input of you sound card. Of the software I have tested only mplayer and MythTV can read directly from the digital sound device of the PCTV analog USB and output it over your soundcard. Kdetv, xawtv, motv and freevo remain silent because they expect an analgo output to be connected to the line in of your sound card. For these tv viewers you'll need a workaround. You have to install and use sox to pipe the digtal audio from the tv card to your sound card.<br />these commands worked for me:<br /><pre># sox -t ossdsp -r 48000 -b -c 2 /dev/dsp1 -t ossdsp /dev/dsp<br /># v4lctl -c /dev/video0 volume mute off</pre><br />(/dev/dsp1 is the pcm device of the analog USB and /dev/dsp is the PCM in of you audiocard. /dev/video0 should be the PCTV analog USB) Change this if the names of the devices on your box differ) now you should hear the sound of the channel you just tuned to with your PCTV analog USB. If you hear only static then try to tune to another channel. Now you can fire up your TV-viewer software e.g kdetv to swich the channels.<br /><br /><br /><span style="font-weight: bold;">Links:</span><br /><a href="http://mcentral.de/wiki/index.php/Talk:Em2880">em28xx driver FAQ</a> A lot of problems get addressed here<br /><a href="http://www.linuxtv.org/v4lwiki/index.php/Talk:Em2820">em2820 driver FAQ</a> this is the old version of the em28xx driver. All development is done on the em28xx now I guess, but you can find some troubleshooting hints for the PCTV analog USB 10e 55e since it is a em2820 based device.<br /><a href="http://mcentral.de/wiki/index.php/Em2880">Official em28xx Project Wiki</a><br /></span><br /></div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-10051869.post-6627884320490183372007-05-23T06:10:00.001-07:002007-06-13T03:18:04.280-07:00How to install AppArmor and Dazuko in OpenSuse 10.2<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN3M40UPIPHtcOMZ1_ubujMsoAlFz0x4ufc6IycizSeQqHybnL9ARGEYCjpG3CzB9LBqfbfsFW8_CjcF953pjI6Nea4pkGJmcAg6RhzOkpoThjnMfQh7oRbum0t3tDuiWfHWvh4Q/s1600-h/+appvira.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN3M40UPIPHtcOMZ1_ubujMsoAlFz0x4ufc6IycizSeQqHybnL9ARGEYCjpG3CzB9LBqfbfsFW8_CjcF953pjI6Nea4pkGJmcAg6RhzOkpoThjnMfQh7oRbum0t3tDuiWfHWvh4Q/s200/+appvira.jpg" alt="" id="BLOGGER_PHOTO_ID_5070408737785998242" border="0" /></a><br /><div style="text-align: justify;"><br /><span class="postcap">S</span>o you want to run Dazuko on a OpenSuse 10.2 System. However, This will not work out of the box, since Dazuko and Apparmor are using the same <a href="http://en.wikipedia.org/wiki/Linux_Security_Modules">Linux Security Module (LSM) API</a>. If you try to load dazuko while apparmor is running you'll get:<br /><br /><pre>dazuko: failed to register<br />modprobe: FATAL: Error inserting dazuko (/lib/modules/xxxxx/weak-updates/dazuko.ko): Invalid argument<br /></pre><br />But there are ways to get Dazuko up and running and Apparmor even at the same time.<br /><span class="fullpost"><br />To run dazuko in OpenSuse 10.2 you have basically three options:<br /></span><ol><li>Unload the apparmor module before you load the dazuko module</li><li>recompile the dazuko module with syscalls enabeled (this doesen't work for chroot directories</li><li>recompile the kernel to export __d_path</li></ol>Here I discribe all three of these options: How to do it and how to choose the right option.<br /><span class="fullpost"><br />Option 1:<br />This is the right option if you don't need AppArmor. You need to install Antivir using the ./install script that comes with the installation file which can be downloaded from avira. In addition you have to install the dazuko module using e.g. the Yast utility from the OpenSuse 10.2 distribution.<br /><pre># modprobe -r apparmor<br /># modprobe dazuko<br /># avguard start<br /></pre><br />Use the Yast runtim configuration to make the changes permanent.<br /><br />Since the default SuseLinux 10.2 default kernel is an SMP kernel for both single and multi CPU systems which does not export __d_path you there are only the following ways to get dazuko running together with AppArmor:<br /><br />Option 2:<br />download the sources of the dazuko module and compile the module with syscalls enableled to circumvent the LSM API apparmor uses , local dpath disableled to avoid problems with the SMP kernel and disabbeled chroot support to get it running without __d_path. This is the right choice if you don't need chroot'd directories.<br /><pre># ./configure --disable-local-dpath --disable-chroot-support --enable-syscalls --mapfile=/boot/System.map-`uname -r`<br /># make</pre><br />now install and load the module<br /><br />Option 3:<br />This assumes your in the folder wher the patch lives. Its in the extracted source folder of the dazuko moudIf you need support for chroot directories you have to patch kernel source e.g.<br /><br /><pre># patch /lib/modules/`uname -r`/build/fs/dcache.c patch_dpath.diff</pre><br /><br />and recompile the kernel in order to make him export __d_path. However this command seems not to work when you never build a kernel yourself. In this case use<br /><br /><pre># patch /usr/src/linux/fs/dcache.c patch_dpath.diff<br /># make clean<br /># make oldconfig<br /># make<br /># make modules_install<br /># make install</pre><br />The dazuko module can only be compiled after compiling and loading the kernel so that the dazuko module will be compiled with the correct System.map. Else you get<br /><pre>dazuko: loaded, version=2.3.2<br />dazuko: no version for "__d_path" found: kernel tainted.</pre> when loading the module<br /><br />The Dazuko module can be configured and installed in this way to support chroot'd directories:<br /><pre># cd /usr/lib/Antivir<br /># ./configure --disable-local-dpath --enable-syscalls --mapfile=/boot/System.map-`uname -r`<br /># mv /lib/modules/2.6.18.2-34-default/updates/dazuko.ko /lib/modules/2.6.18.2-34-default/updates/dazuko.ko.orig<br /># cp dazuko.ko /lib/modules/2.6.18.2-34-default/updates</pre><br /><br /><br />everything is detailed in the Suse README of the AntiVir Distribution:<br /><blockquote><br />AntiVir README for users of the SUSE distribution<br />=================================================<br /><br />There are issues with the on access scan feature on recent SUSE systems. More<br />thorough and up to date information is available at the www.dazuko.org site.<br />See the FAQ at http://www.dazuko.org/faq.shtml and the installation<br />instructions at http://www.dazuko.org/howto-install.shtml for more details.<br />The RELEASE_NOTES file that came with this installation package discusses the<br />issues with the latest Linux 2.6 kernels in more depth.<br /><br /><br />The on access scan feature of the AntiVir Server and AntiVir Workstation<br />products (commonly referred to as "Guard") runs on top of the Dazuko kernel<br />module. That's why it is essential that this module is available and fully<br />functional on a system where on access scans will be used.<br /><br />By default Dazuko prefers the LSM API to interface with Linux 2.6 kernels to<br />capture file events. Unfortunately the AppArmor and SE Linux projects block<br />this API and prevent other modules from accessing it, which is why the<br />AppArmor and SE Linux features cannot be employed together with other LSM<br />using modules such as Dazuko.<br /><br />In these setups it's necessary to switch to the so called syscall hooking<br />method to interface with a Linux 2.6 kernel. It's suggested to use at least<br />Dazuko version 2.3.1 and run the configure script with the --enable-syscalls<br />option. It's essential to specify a System.map file with the --mapfile=<br />option which exactly fits the kernel which the module gets built for.<br /><br />Unfortunately there are System.map files which declare kernel data pages as<br />read only while they actually are not. Taking action at runtime based on this<br />information when it's incorrect leads to a kernel BUG() while not taking<br />action at runtime while the information is correct results in Oopses and<br />crashes. This situation cannot be detected by software without actually<br />running into the problem. Neither at build time nor at run time is it<br />possible to determine the correctness of this information.<br /><br />At this point it's important that the administrator does know whether the<br />kernel data pages on this system actually are read only or whether they are<br />not and were wrongly declared so. With this information the Dazuko configure<br />script can be invoked with the appropriate options. Should this information<br />not be available, a test system should be used to try which approach works for<br />such a configuration (this is not suggested to be done on a production<br />system).<br /><br />SUSE distributions usually do not have read only kernel data pages. Which is<br />why the Dazuko configure script assumes that the System.map information is not<br />correct and issues a warning message to this effect. Should loading a module<br />which was built this way result in a kernel BUG(), the module unfortunately<br />cannot be unloaded and the machine needs to be rebooted instead. The module<br />then needs to be built with the additional --sct-readonly flag passed to the<br />configure script.<br /></blockquote><br />and here:<br /><blockquote><br />==============================<br />README for Linux 2.6 kernels<br />==============================<br /><br />In order to lookup full file paths (even in chroot environments), Dazuko<br />uses the kernel function __d_path(). Unfortunately this function is no<br />longer exported to kernel modules in the Linux 2.6 kernel.<br /><br />Dazuko has its own copy of this function but unfortunately it is only safe<br />for UP (uni-processor or non-SMP) kernels. This is because the real __d_path()<br />function uses a kernel lock, which is not available to kernel modules.<br /><br />If your kernel is not configured as SMP, then it is safe to use Dazuko's<br />copy of the __d_path() function. This is default.<br /><br />If your kernel is SMP then you should _not_ use Dazuko's copy of __d_path().<br />You can disable Dazuko's local copy of __d_path() by configuring Dazuko with:<br /><br />$ ./configure --disable-local-dpath<br /><br />Since Dazuko requires __d_path(), your kernel will have to export it if you<br />disable the local copy. Some GNU/Linux distributions have a modified kernel<br />that does export this function. The "vanilla" Linux kernel does _not_ export<br />this function. You can check if your kernel exports this function with:<br /><br />$ grep __d_path /proc/kallsyms<br /><br />The results can be interpreted as:<br /><br />xxxxx T __d_path <= exported xxxxx t __d_path <= not exported If you are running an SMP kernel and __d_path() is not exported, then you will have to modify your kernel source code to export the symbol and rebuild your kernel. The modification is very simply and can be made by using the included patch to modify the fs/dcache.c file. Here is an example: $ patch /lib/modules/`uname -r`/build/fs/dcache.c patch_dpath.diff The location of your Linux kernel source code may be different. Once you have patched the fs/dcache.c file, you can rebuild and install your kernel and kernel modules. If your GNU/Linux distribution doesn't export the __d_path() function, you may want to write them email suggesting that this function be exported in the next release. Note: As a workaround, Dazuko now offers the configuration option --disable-chroot-support. This will disable Dazuko from trying to resolve chroot'd filenames, thus making Dazuko safe for SMP kernels that do not export __d_path(). However, if this option is used, registered applications will only be able to work with chroot'd filenames if they resolve the filenames from within userland. If the application you plan to use with Dazuko requires handling chroot'd filenames (and you have an SMP kernel that cannot export __d_path()), then you should contact the application developer to make sure it supports this option. </blockquote><br />Related Post:<br /><a href="http://computers-stuff.blogspot.com/2007/05/runnig-dazuko-apparmor-and-antivir-or.html">Howto Install Dazuko (with AppArmor and AntiVir or ClamAV) with the default kernel in OpenSuse 10.2 64Bit version</a><br /><br /></span></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-10051869.post-82492991580150960162007-05-22T16:04:00.001-07:002007-05-30T12:09:52.675-07:00Azureus I2p Network plugin configuration Howto for Linux<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwaWQQZ158TWWOYf5fa3jMNKUCz0poPif1Dusr8hodXKidyLTD5qVF93cbBH0vYUHVJdoyW1T_UY-oMkoTW2XEUyN5nY-nxTzE9b-NIZfUofBwXRHeD08JXwovI3W-gPNHejl9hA/s1600-h/i2pplugin.png"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwaWQQZ158TWWOYf5fa3jMNKUCz0poPif1Dusr8hodXKidyLTD5qVF93cbBH0vYUHVJdoyW1T_UY-oMkoTW2XEUyN5nY-nxTzE9b-NIZfUofBwXRHeD08JXwovI3W-gPNHejl9hA/s320/i2pplugin.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5070432939926711394" /></a><br /><div style="text-align: justify;"><span class="postcap">S</span>o Azureus comes with a lot of nice plugins for download. Let's see which of them I'll install .... wait, what is this I2P network plug in... allows use of the I2P network ... Hm, no idea what I2p network really is, sounds useful though ok let's install the plugin and see what happens.<br /><br />These were my first thoughts when I stumbled upon the I2P network and the corresponding Azureus plugin. Had I only known how much work i took to get it up and running I probably wouldn't have installed it. Here I write what It takes to set up the Azureus I2P Network plugin.<br /><br /><span class="fullpost">Outline:<ol><li>Install the i2prouter</li><li>configure the server tunnel</li><li>configure Azureus to send the i2pnetwork destination hash of the server tunnel to the tracker instead of the local ip adress.</li><li>configure Azureus to listen on the target port of the server tunnel of the 12prouter</li><li>configure Azureus and the i2p network plugin to communicate with each other via an proxy network relay port</li></ol><br />Introduction:<br /><br />Ok, what is the I2P network<br /><br />The I2p network is a anonymous Network inside the Internet. It is a distributed network technology to make it harder to the the server to find out your IP address. I like to think of it as a Network layer on top of the Internet protocols. The Internet is usually not as anonymous as you might think since if you connect to e.g. a server over the Internet a connection is established such that the server knows your IP address. This IP address and the data transmitted from and to this address can be logged. Since ISPs (Internet service provider) log which IP address has been assigned to which user its no problem to trace back the person who established this connection. To cut long things short, your IP address usually reveals you real identity<br /><br />Things get a little different if you connect to the internet through a proxy. In this case only the proxy knows your IP adress but the servers in the internet only know the IP address of the proxy. Every computer behind such a proxy appears to the internet as only one IP address. And heres what the I2P Netwokr does: It turns your computer into a proxy and all your internet communication has to go through that proxy and the peers are identified by hash keys to each other and not by their real IP address and treaffic is dynamically tunneled through multiple proxys. Since the traffic is encrypted and no single proxy knows all IP addresses of the proxys participating in the tunnel and from the outside its not clear if your only routing the tunnel or are the end of the tunnel it becoms extremely hard to trace which hash key belongs to which IP address.<br /><br />Ok, what does the Azureus I2P Network Plugin do?<br /><br />Well, I like to think the I2P Network plugin serves as some kind of proxy to which Azureus connects.In this way the plugin can trace all Azureus traffic and if it detects that Azureus is trying to connect to the I2P Network it redirects the traffic to the port of the I2P router/proxy which knows to handle the torrent protocol in the I2P network. (usually 7654 on your localhost). In other words the I2P network plugin redirects the outgoing I2P traffic of azureus to your I2P router that is if Azureus is trying to connect to some peer outside. <br /><br />The Incomming traffic is not handeled by the plug in. To allow for incomming traffic you have to configure a server tunnel in your I2P-router and forward this tunnel to some port on the machine where azureus lives and listens. For this to work you have to instruct azureus to overwrite the address sent to the tracker with the hash key for that server tunnel<br /><br />So, what's next?<br /><br /><span style="font-weight: bold;">Configuration and installation of the i2prouter:</span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH0rdQ46jwzm23ZcgwUyoK9tS6DzCESHzyAiA9R9Wt6-KOWtVCTip2kxlGsAnsdj5zLeZJ4Nt8f0aGCse-0kP4IAteLPm8g77YUaOpbKT0xr5fGSG8V9cbIspeUOUUBtaJQZOyPw/s1600-h/i2plogo.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH0rdQ46jwzm23ZcgwUyoK9tS6DzCESHzyAiA9R9Wt6-KOWtVCTip2kxlGsAnsdj5zLeZJ4Nt8f0aGCse-0kP4IAteLPm8g77YUaOpbKT0xr5fGSG8V9cbIspeUOUUBtaJQZOyPw/s320/i2plogo.png" alt="" id="BLOGGER_PHOTO_ID_5070410919629384626" border="0" /></a><br /><br /><a href="http://www.i2p.net/">Download the I2P proxy </a>and install it to /usr/local/i2p and fire it up<br /><br /><pre># java -jar i2pinstall.exe<br /># cd /usr/local/i2p<br /># ./postinstall.sh<br /># ./i2prouter start<br /></pre><br />now fire up your browser and connect to the i2pconsole at:<br /><br /><a href="http://localhost:7657/index.jsp">http://localhost:7657/index.jsp</a><br /><br />If you can see the the I2p proxy console now your i2p router should be up and running. Make sure you do the general I2P router configuration and itis working properly (configuring NAT and the like where applicable) <b>Inbound TCP connection need to be enabeled if you want remote source to connct to Azureus </b>(NAT OK)<br /><br />Now do the Azureus specific I2P router configuration:<br /><br /><ul><li>Click on "I2P tunnel" Or you can click <a href="http://localhost:7657/i2ptunnel/index.jsp">here</a><a href="http://localhost:7657/i2ptunnel/index.jsp"> </a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjqefw99n5ffuz45fS_V7PJ7qVKJ_IXkwJNAO0fArg9w20oZaxmNLwXUDFOC4nh-eI5ZVIWHyW5x5COXQ9lferV0rDrguBFSSFf-qR8enFOOoyFkim7Drs7C6CWjqAYwwtOtAiUQ/s1600-h/i2p.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 412px; height: 47px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjqefw99n5ffuz45fS_V7PJ7qVKJ_IXkwJNAO0fArg9w20oZaxmNLwXUDFOC4nh-eI5ZVIWHyW5x5COXQ9lferV0rDrguBFSSFf-qR8enFOOoyFkim7Drs7C6CWjqAYwwtOtAiUQ/s320/i2p.jpg" alt="" id="BLOGGER_PHOTO_ID_5070420785169263666" border="0" /></a></li></ul><ul><li> Select add new server tunnel standard and click create.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPBaCWxYLPxvgYJ4evmzrQCO8disPRDYXz3SCjeqnq-YjcwRJQVlR2w2439D2HrH1GPOi6MdJgk5mk8g39r712q0ZfuGzQXE-HdivcdYiF3tyKv3wHN9wq6Rud_1byiGPndR30Bg/s1600-h/i2ptunnel2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 418px; height: 135px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPBaCWxYLPxvgYJ4evmzrQCO8disPRDYXz3SCjeqnq-YjcwRJQVlR2w2439D2HrH1GPOi6MdJgk5mk8g39r712q0ZfuGzQXE-HdivcdYiF3tyKv3wHN9wq6Rud_1byiGPndR30Bg/s320/i2ptunnel2.jpg" alt="" id="BLOGGER_PHOTO_ID_5070421395054619714" border="0" /></a></li><li>Enter a Name e.g. Azureus and a Description e.g. Azureus server tunnel.</li><li>Check Auto Start (yes) so that the Server tunnel gets opened automatically when you fire up your i2p router.</li><li>enter the target host which is the IP address or name of the machine where Azureus lives. If your I2P router and Azureus running on the same box its usually ok to enter localhost here.</li><li>As Target host Port enter the port number your Azureus is listening on incoming TCP connections e.g. 57431</li><li>Enter a name for the Private key file e.g. AzureusPriv.dat.</li></ul><br />The rest can remain unchanged.<br /><br /><ul><li>Now click save and the I2P router will generate a local destination hash.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpcOlshe7uVeCCWyoTmp0AokTVSRZGF-4IL9B7pdIjrYKauPm-zV9ip0rWGhmaeRkKUjNyUew76yh5qX_Pzg4_bvI1qiMtSOR8t71-CeJT60TpjVW5CDbdHfWziiTGCBRhF8YpSA/s1600-h/tunneledit.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpcOlshe7uVeCCWyoTmp0AokTVSRZGF-4IL9B7pdIjrYKauPm-zV9ip0rWGhmaeRkKUjNyUew76yh5qX_Pzg4_bvI1qiMtSOR8t71-CeJT60TpjVW5CDbdHfWziiTGCBRhF8YpSA/s320/tunneledit.jpg" alt="" id="BLOGGER_PHOTO_ID_5070420780874296354" border="0" /></a></li><li>Copy the local destination hash to the clipboard that will appear in the status message window. The hash will be the address or identifier which will be announced to the tracker and wich peers from the i2p network will use to connect to you. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFfOW_hyphenhyphenVu4NZwCE71LvIVGc2iiyvWgXEVYhKhkfc3AxzVm04h_a2-VFdNWkI-SmBQoD6k9WC2qL4ZI4upKmrMNkgFAt8tEGw53mkXsQcymPjZILJAgvwcqZEkh65_lLR4JWkyjQ/s1600-h/i2ptunnel.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFfOW_hyphenhyphenVu4NZwCE71LvIVGc2iiyvWgXEVYhKhkfc3AxzVm04h_a2-VFdNWkI-SmBQoD6k9WC2qL4ZI4upKmrMNkgFAt8tEGw53mkXsQcymPjZILJAgvwcqZEkh65_lLR4JWkyjQ/s320/i2ptunnel.jpg" alt="" id="BLOGGER_PHOTO_ID_5070423254775458898" border="0" /></a>If you lost this hash you can also copy it from the Local Server Tunnel entry. You will find a new entry und local server tunnels with the name you have chosen above e.g. Azureus. Click on the Name and a Tunnel configuration window will pop open. Now you can copy the hash from the local destination field . Make sure you get the whole thing its very long.</li></ul><br />Now your finished with the I2P router configuration<br /><br /><span style="font-weight: bold;">Configuration of Azureus</span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS1HH01Ex7zqhvTOekh5GNW0C_myABHSZ4_9Ejp_JqzBCFegAXzDEpMw78iFW0I1byPY2edNcVkMNc6FYZVxoE4_92K4vikNyTKy5yruy0dkvkAMwKeIayxi9LvlRU26x-D63QoQ/s1600-h/Azureus.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS1HH01Ex7zqhvTOekh5GNW0C_myABHSZ4_9Ejp_JqzBCFegAXzDEpMw78iFW0I1byPY2edNcVkMNc6FYZVxoE4_92K4vikNyTKy5yruy0dkvkAMwKeIayxi9LvlRU26x-D63QoQ/s320/Azureus.png" alt="" id="BLOGGER_PHOTO_ID_5070411525219773378" border="0" /></a><br /><ul><li>go to Azureus/Tools/Ḱonfiguration/Tracker/Client</li><li>Click on overwrite announce ip address options and paste the local destination hash in here which you copied from the server tunnel you just created. </li><li>Move the curser to the end of the hash and append </li></ul><pre>.i2p</pre>This is important. If you don't do this correctly it will render Azureus unresponsive when you open a torrent.<br /><br /><ul><li>Now go to Connection and enter port 57431 in the incoming TCP field. The port should be the same as your entered as the target port field when you configured the server tunnel in your I2P router.</li><li>Now go to proxy settings and </li><li>activate use proxy for comunication with Tracker</li><li>activate have SOCKS proxy</li><li>enter localhost as host address</li><li>enter an unused port which azureus should use to communicate with the I2P network plugin (which serves as proxy) e.g. 15223</li><li>leave user and pass blank</li><li>(check) activate Proxying for source communication</li><li>uncheck (deactivate) imform tracker ..</li><li>select SOCKS Version V4a (do not use V4, this will not work)</li><li>check (activate) use the same Proxy setting for Tracker and Source communication.</li><li>Now go to Plugins/I2P Network Plugin and </li></ul><span style="font-weight: bold;">Configuration of the I2P Network plugin</span><br /><ul><li>Check "enable" to activate the plugin</li><li>enter the path to the directory where you have installed the i2p router to e.g. /usr/local/i2prouter</li><li>if you don't do this correctly then you get</li><li>I2P install location not defind, plugin initialisation failed</li><li>Enter the Port you which the I2p Network plugin to listen on In Network relay port. This port must mach the port you entered as the port for tracker communication.</li></ul><br />The rest can remain unchanged.<br /><br />Configure the UPnP functionality if you which so that the i2p network plugin opens the i2p router ports for you.<br /><br /><ul><li>Now restart Azureus</li></ul><br />When lucky then you get: "i2p router connection succeeded" messge<br />Attantion: This only means that your i2p plugin works. Make sure that Azreus does not accept connections from outsinde i2p and that azureus does not attemt to connect to networks outside the 12p. this might compromise you ananymity since in this case you're in danger transmit your ip and your hasch to the same server.<br /><br />Now go to <a href="http://tracker.postman.i2p/">tracker.postman.i2p</a><br /><br /><span style="font-weight: bold;">Troubleshooting:</span><br />If Azureus freezes after you opened a terrent then you dident copy the destination hash of your server tunnel to Azureus correctly. Check that .i2p is appended to the end of the hash.<br />If your NAT status light remains yellow this most likely means that you haven't configured the incomming connections properly. Then you have to check if you configured the server tunnel correctly. Check furthermore if the target port of the Azureus server tunnel of the i2prouter and the TCP port Azureus listens on do match each other. More over the i2prouter needs to be configured to accept incoming TCP connections.<br />Links:<br /><a href="http://azureus.sourceforge.net/plugin_details.php?plugin=azneti2p&docu=1#1">Azureus I2p Plugin</a><br /></span><br /></div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-10051869.post-68292127732791107192007-05-21T08:20:00.000-07:002007-05-30T15:08:48.666-07:00MythTV: StartRecorder() -- timed out waiting for recorder to start<div style="text-align: justify;"><br /><span class="postcap">T</span>his problem occured after installation of MythTV under OpenSuse 10.2 using the PCTV analog USB video grabber. Here I write how I solved this issue.<br /><br /><span class="fullpost"><br />This problem turned out to result from a driver problem for the analogeus USB TV grabber which comes with OpenSuse 10.2. This dirver is outdated. I guess the MythTV can't communicate with the driver. The v4l2 driver for the PCTV USB 150e/55e PAL/SECAM for Linux is the em28xx. The current version fixes this problem.<br /><br />To install the current driver you need to install the kernel source and kernel headings and the mercurial package which will download the drvier source for you.<br />In addition its a good idea to a clean reinstall of the media library. I used the following commands which probably can do the trick for you too however don't do the "rm" stuff unless you know that the vf4l driver source compiles without problems:<br /><pre># rm -rf /lib/modules/`uname -r`/kernel/drivers/media<br /># hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel<br /># cd v4l-dvb-kernel<br /># make<br /># make ./install</pre><br />In fact I use the experimentel tree of the driver which also woks fine for me.(http://mcentral.de/hg/~mrec/v4l-dvb-experimental)<br /><br />The experimental driver works for me with MythTV, Freevo, TVtime, mplayer, and kdetv so it can't get much better, I guess.<br /><a href="http://computers-stuff.blogspot.com/search/label/Pinnacle%20PCTV%20USB2%2Fanalog%20USB">releated posts</a><br /></span></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-10051869.post-45390545073636553202007-05-20T06:58:00.001-07:002007-05-22T23:50:24.781-07:00PCTV analog USB2: "open /dev/vbi: Device or resource busy issue" solved<div xmlns='http://www.w3.org/1999/xhtml'>VBI means Vertical Blank interval of a TV signal in the US terminology. This is the interval between frames where no picture is displayed but information like teletext can be broadcasted. I guess the VBI device in linux is the interface to read out such data from the TV signal provided that you TV grabber can extract you the VBI data from the video signal. Here I write why many people report that the VBI device of the PCTV analog USB is always busy though no application is using it.<span class="fullpost"> <br /><br /><a href='http://www.tv-cards.com/messageboard/viewtopic.php?pid=51315'>the 150e/55e has an em2820 on board which does not support teletext ( raw VBI capture, sliced VBI capture)!!</a>!<br></br>Although the em28xx driver supports em2820 based tv grabbers quite well it initializes an vbi device although it probably shouldn't. This is likely to the reason for the erreor you get when starting scnatv:<br></br><pre>#scantv<br></br>vbi: open failed [/dev/vbi]<br></br>open /dev/vbi: Device or resource busy<br></br>#dmesg<br></br>em28xx #0: this driver can be opened only once<br></br></pre>This issue has been fixed in the new version of the em28xx driver. If you <a href='http://computers-stuff.blogspot.com/2007/05/installing-mythtv-on-opensuse-linux-102.html'>update the em28xx</a> driver it wont initialize a vbi device any more. However, after update you are likely to get anoher error message after starting scantv:<br></br><pre>open /dev/vbi: no such device or directory</pre>obviously scantv refuses to work without a vbi device which is probably a bug? <br></br><br></br>But as a workaround you could now start kdetv or xaw tv and scan the channels. This will work and you can enter the addtitional imformation for the channels manually.<br></br><br></br><br></br><br></br><br></br><br></br>Technorati Tags: <a rel='tag' href='http://technorati.com/tag/PCTV%20analog%20USB2' class='performancingtags'>PCTV analog USB2</a>, <a rel='tag' href='http://technorati.com/tag/em28xx%20' class='performancingtags'>em28xx </a><br></br><br></br><p class='poweredbyperformancing'>Powered by <a href='http://scribefire.com/'>ScribeFire</a>.</p></div></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-10051869.post-34760220170545502572007-05-19T10:45:00.001-07:002007-05-29T22:50:56.507-07:00Howto solve PCTV analog USB 2 (150e/55e) tuner issue: can't scan UHF<div style="text-align: justify;"><span class="postcap">F</span>or me the em28xx detected tuner #37 which is probably wrong cause tuning UHF channels din't work. Here I explain how to solve this problem.</div><br /><span class="fullpost">My tuner reads LG tape something so I use #47 for the tuner= insmod option instead. Now I can tune in UHF channels.<br /><br />For Suse you have to edit /etc/modprobe.d/tv and enter the module options for the em28xx. Look for options and change tuner=37 to tuner=47. Now UHF works fine for me. Heres how my /etc/modprobe.d/tv looks like.<br /><br /><pre>alias char-major-81 videodev<br />options em28xx card=8 disable_ir=0 tuner=47<br />alias char-major-81-0 off<br />alias char-major-81-1 em28xx<br />alias char-major-81-2 off<br />alias char-major-81-3 off</pre><a href="http://www.linuxtv.org/v4lwiki/index.php/Talk:Em2820#Tune_UHF_channels">wiki discussing the em28xx UHF tuning issue for other cards</a><br /><br />In addition I use card=8. Here is a list of valid choices for the card= insmod option:<br /><br /><pre>em28xx #0: card=0 -&gt; Generic EM2800 video grabber<br />em28xx #0: card=1 Generic EM2820 video grabber<br />em28xx #0: card=2 Generic EM2821 video grabber<br />em28xx #0: card=3 Generic EM2870 video grabber<br />em28xx #0: card=4 Generic EM2881 video grabber<br />em28xx #0: card=5 Generic EM2860 video grabber<br />em28xx #0: card=6 Generic EM2861 video grabber<br />em28xx #0: card=7 Terratec Cinergy 250 USB<br />em28xx #0: card=8 Pinnacle PCTV USB 2 (LG PAL TAPC)<br />em28xx #0: card=9 Hauppauge WinTV USB 2<br />em28xx #0: card=10 MSI VOX USB 2.0<br />em28xx #0: card=11 Terratec Cinergy 200 USB<br />em28xx #0: card=12 Leadtek Winfast USB II<br />em28xx #0: card=13 Kworld USB2800<br />em28xx #0: card=14 Pinnacle Dazzle DVC 90<br />em28xx #0: card=15 Hauppauge WinTV HVR 900<br />em28xx #0: card=16 Terratec Hybrid XS<br />em28xx #0: card=17 Terratec Hybrid XS Secam<br />em28xx #0: card=18 Kworld PVR TV 2800 RF<br />em28xx #0: card=19 Terratec Prodigy XS<br />em28xx #0: card=20 Videology 20K14XUSB USB2.0<br />em28xx #0: card=21 Usbgear VD204v9<br />em28xx #0: card=22 Terratec Cinergy T XS<br />em28xx #0: card=23 Pinnacle PCTV DVB-T<br />em28xx #0: card=24 DNT DA2 Hybrid<br />em28xx #0: card=25 Pinnacle Hybrid Pro<br />em28xx #0: card=26 Hercules Smart TV USB 2.0<br />em28xx #0: card=27 Compro, VideoMate U3<br />em28xx #0: card=28 KWorld DVB-T 310U<br />em28xx #0: card=29 SIIG AVTuner-PVR/Prolink PlayTV USB 2.0<br />em28xx #0: card=30 Terratec Cinergy T XS (MT2060)<br />em28xx #0: card=31 MSI DigiVox A/D<br />em28xx #0: card=32 D-Link DUB-T210 TV Tuner<br />em28xx #0: card=33 Gadmei UTV310<br />em28xx #0: card=34 Kworld 355 U DVB-T<br />em28xx #0: card=35 Supercomp USB 2.0 TV<br />em28xx #0: card=36 Hauppauge WinTV HVR Rev. 1.2<br />em28xx #0: card=37 Gadmei UTV330<br />em28xx #0: card=38 V-Gear PocketTV<br />em28xx #0: card=39 Kworld 350 U DVB-T<br />em28xx #0: card=40 Terratec Hybrid XS (em2882)<br />em28xx #0: card=41 Pinnacle Dazzle DVC 100<br />em28xx #0: card=42 Generic EM2750 video grabber<br />em28xx #0: card=43 Yakumo MovieMixer<br />em28xx #0: card=44 Huaqi DLCW-130<br />em28xx #0: card=45 Generic EM2883 video grabber<br />em28xx #0: card=46 Hauppauge WinTV HVR 950<br />em28xx #0: card=47 Pinnacle PCTV HD Pro<br />em28xx #0: card=48 Pinnacle Hybrid Pro (2)<br />em28xx #0: card=49 Hauppauge WinTV USB 2 (R2)<br />em28xx #0: card=50 NetGMBH Cam<br />em28xx #0: card=51 Leadtek Winfast USB II Deluxe<br />em28xx #0: card=52 MSI DigiVox A/D II<br />em28xx #0: card=53 Typhoon DVD Maker<br />em28xx #0: card=54 Pinnacle PCTV USB 2 (Philips FM1216ME)<br /></pre>Here is a list for valid options for the insmod tuner= option. I use tuner=47<br /><br /><pre>tuner=0 - Temic PAL (4002 FH5)<br />tuner=1 - Philips PAL_I (FI1246 and compatibles)<br />tuner=2 - Philips NTSC (FI1236,FM1236 and compatibles)<br />tuner=3 - Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)<br />tuner=4 - NoTuner<br />tuner=5 - Philips PAL_BG (FI1216 and compatibles)<br />tuner=6 - Temic NTSC (4032 FY5)<br />tuner=7 - Temic PAL_I (4062 FY5)<br />tuner=8 - Temic NTSC (4036 FY5)<br />tuner=9 - Alps HSBH1<br />tuner=10 - Alps TSBE1<br />tuner=11 - Alps TSBB5<br />tuner=12 - Alps TSBE5<br />tuner=13 - Alps TSBC5<br />tuner=14 - Temic PAL_BG (4006FH5)<br />tuner=15 - Alps TSCH6<br />tuner=16 - Temic PAL_DK (4016 FY5)<br />tuner=17 - Philips NTSC_M (MK2)<br />tuner=18 - Temic PAL_I (4066 FY5)<br />tuner=19 - Temic PAL* auto (4006 FN5)<br />tuner=20 - Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5)<br />tuner=21 - Temic NTSC (4039 FR5)<br />tuner=22 - Temic PAL/SECAM multi (4046 FM5)<br />tuner=23 - Philips PAL_DK (FI1256 and compatibles)<br />tuner=24 - Philips PAL/SECAM multi (FQ1216ME)<br />tuner=25 - LG PAL_I+FM (TAPC-I001D)<br />tuner=26 - LG PAL_I (TAPC-I701D)<br />tuner=27 - LG NTSC+FM (TPI8NSR01F)<br />tuner=28 - LG PAL_BG+FM (TPI8PSB01D)<br />tuner=29 - LG PAL_BG (TPI8PSB11D)<br />tuner=30 - Temic PAL* auto + FM (4009 FN5)<br />tuner=31 - SHARP NTSC_JP (2U5JF5540)<br />tuner=32 - Samsung PAL TCPM9091PD27<br />tuner=33 - MT20xx universal<br />tuner=34 - Temic PAL_BG (4106 FH5)<br />tuner=35 - Temic PAL_DK/SECAM_L (4012 FY5)<br />tuner=36 - Temic NTSC (4136 FY5)<br />tuner=37 - LG PAL (newer TAPC series)<br />tuner=38 - Philips PAL/SECAM multi (FM1216ME MK3)<br />tuner=39 - LG NTSC (newer TAPC series)<br />tuner=40 - HITACHI V7-J180AT<br />tuner=41 - Philips PAL_MK (FI1216 MK)<br />tuner=42 - Philips 1236D ATSC/NTSC dual in<br />tuner=43 - Philips NTSC MK3 (FM1236MK3 or FM1236/F)<br />tuner=44 - Philips 4 in 1 (ATI TV Wonder Pro/Conexant)<br />tuner=45 - Microtune 4049 FM5<br />tuner=46 - Panasonic VP27s/ENGE4324D<br />tuner=47 - LG NTSC (TAPE series)<br />tuner=48 - Tenna TNF 8831 BGFF)<br />tuner=49 - Microtune 4042 FI5 ATSC/NTSC dual in<br />tuner=50 - TCL 2002N<br />tuner=51 - Philips PAL/SECAM_D (FM 1256 I-H3)<br />tuner=52 - Thomson DTT 7610 (ATSC/NTSC)<br />tuner=53 - Philips FQ1286<br />tuner=54 - tda8290+75<br />tuner=55 - TCL 2002MB<br />tuner=56 - Philips PAL/SECAM multi (FQ1216AME MK4)<br />tuner=57 - Philips FQ1236A MK4<br />tuner=58 - Ymec TVision TVF-8531MF/8831MF/8731MF<br />tuner=59 - Ymec TVision TVF-5533MF<br />tuner=60 - Thomson DTT 761X (ATSC/NTSC)<br />tuner=61 - Tena TNF9533-D/IF/TNF9533-B/DF<br />tuner=62 - Philips TEA5767HN FM Radio<br />tuner=63 - Philips FMD1216ME MK3 Hybrid Tuner<br />tuner=64 - LG TDVS-H06xF<br />tuner=65 - Ymec TVF66T5-B/DFF<br />tuner=66 - LG TALN series<br />tuner=67 - Philips TD1316 Hybrid Tuner<br />tuner=68 - Philips TUV1236D ATSC/NTSC dual in<br />tuner=69 - Tena TNF 5335 and similar models<br />tuner=70 - Samsung TCPN 2121P30A<br />tuner=71 - Xceive xc3028<br />tuner=72 - Thomson FE6600<br />tuner=73 - Samsung TCPG 6121P30A<br />tuner=75 - Philips TEA5761 FM Radio<br /></pre>the original list can be found here:<br /><br /><a href="http://linuxtv.org/hg/v4l-dvb?cmd=file;file=linux/Documentation/video4linux/CARDLIST.tuner;filenode=-1;style=raw">em28xx tuner insmod option list: I use no 47 for LG TAPE series</a><br /><a href="http://computers-stuff.blogspot.com/search/label/em28xx">Related Posts</a> can be found <a href="http://computers-stuff.blogspot.com/search/label/em28xx">here</a><br /><br /><span style="text-decoration: underline;"><br /></span><a rel="tag" href="http://technorati.com/tag/em28xx" class="performancingtags"></a></span>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-10051869.post-74555878693475069402007-05-17T20:38:00.001-07:002007-05-28T15:31:22.774-07:00Solved: nForce4 CK804 (Intel8x0) ALSA audiodriver uses only on two speakers for stereo playback when 5.1 6 channel speakers are connected<div style="text-align: justify;"><span class="postcap">I</span> have a 5.1 surround speaker set connected to my K8N ultra SLI mainboard with a CK804 sound on board. When playing MP3 I realized that Linux used only the front speaker for stereo playback, which is pretty annoying since the front speakers are not full range an desperately need the woofer to run for a nice sound. Here I write how I solved this issue.<br /><br /><br /><span class="fullpost"><br />It turned out that this issue is not a driver issue, however. This is due to a, in my opinion, odd behavior of the ALSA drivers. ALSA feeds the channel from the source to the corresponding speaker. Since you have only to two channels in stereo sound alsa sends only sound to the front (left and right) speaker. Although this behavior is very logical its verry confusing for a easyly confused noob like me and it took me quite a while to fix this problem.<br /><br />First I had to make sure that the hardware is set up properly. Therefore I used a little helper applet that comes with the ALSA package:<br /><br /><pre># speaker-test -c 6 -r 48000</pre><br /><br />Now I heard sound (noise) on all speakers. If you hear something then the driver and ALSA should work.<br /><br />Getting a driver update from nvidia is not necessary since they only distribute only sata and lan drivers for their nForce chip set. They included their driver sources for their on board sound to the ALSA project so it should be fine to use their driver. The CK804 is supported as as intel8x0. Anyway, here are the sites for the nvidia downloads:<br /><br />http://www.nvidia.com/object/linux_nforce_1.21.html<br />http://http.download.nvidia.com/XFree86/nforce/1.0-0310/ReleaseNotes.html<br /><br />But I did an ALSA driver update. However, this update is optional I guess.<br /><br />---snip---<br /><br />To do this you need to install autoconf, kernel-source, gnu make, kernel-headers with yast if not done yet.<br /><br />To compile and install the latest drivers from source, first download the CVS<br />(Remark: devfs is depreciated in Suse 10.2 since it uses udev so we don't need to execute ./snddevices script here)<br /><br /><pre># rsync -avz --delete rsync://alsa.alsa-project.org/hg your_directory<br /># ./cvscompile --with-cards=intel8x0 --with-sequencer=yes<br /># make install<br /># modprobe snd-intel8x0;modprobe snd-pcm-oss;modprobe snd-mixer-oss;modprobe snd-seq-oss</pre>---snip----<br /><br />The most important step is to edit the .asoundrc. The .asoundrc is a configuration file which is read in by default and lives in your home directory.<br /><br /><pre># vi /home/xxx/.asoundrc</pre>vi is an editor but you can use whichever you you prfer to perorm this task. xxx denotes the name of your home directory. Then add the the following code to your .asoundrc :<br /><br /><pre>pcm.ch51dup {<br />type route<br />slave.pcm surround51<br />slave.channels 6<br />ttable.0.0 1<br />ttable.1.1 1<br />ttable.0.2 1<br />ttable.1.3 1<br />ttable.0.4 0.5<br />ttable.1.4 0.5<br />ttable.0.5 0.5<br />ttable.1.5 0.5<br />}</pre><br /><br />This will duplicate stereo channels to the sourround speakers but you have to use ch51dup as<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyGmTkn_HPonfdQFDVE006PS79UGUmKBc-egtZtx51DtpH6h3IF8h-FTCdRHVkSsOgtRdOIuzkDuu8_CbpKZObmUtjfbjkIQq7o1sxKmM5eX5MS3R8l-gke6yUaDwQ6QDv54v1Zg/s1600-h/amarok1.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 245px; height: 199px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyGmTkn_HPonfdQFDVE006PS79UGUmKBc-egtZtx51DtpH6h3IF8h-FTCdRHVkSsOgtRdOIuzkDuu8_CbpKZObmUtjfbjkIQq7o1sxKmM5eX5MS3R8l-gke6yUaDwQ6QDv54v1Zg/s200/amarok1.jpg" alt="" id="BLOGGER_PHOTO_ID_5065741383940533074" border="0" /></a> device for output of stereo files. In Amarok I use the configuration shown in the screenshot:<br /><br />I used the following links as source:<br /><br /><ul><li><a href="http://www.alsa-project.org/alsa-doc/doc-php/template.php?company=Intel&card=ICH+southbridge+AC97+audio.&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;chip=440MX%2C+i810%2C+i810E%2C+i820%2C+ICH4%2C+ICH5%2C+ICH6&module=intel8x0">alsa-project home site</a></li><li>Information about the <a href="http://bugtrack.alsa-project.org/main/index.php/Matrix:Module-intel8x0">alsa Module intel8x0</a> which is the relevant driver for the nForce CK804</li><li>Additional <a href="http://alsa.opensrc.org/Intel8x0">Wiki page of the ALSA project about the Intel8xo module for the nForce CK80x</a></li><li><a href="http://alsa.opensrc.org/Playing_stereo_on_surround_sound_setup_%28Howto%29">Playing stereo on surround sound setup with alsa</a></li><li><a href="http://alsa.opensrc.org/home/w/org/opensrc/alsa/index.php?title=.asoundrc">general infromation about the alsa .asoundrc configuration file</a></li></ul><br />Technorati Tags: <a rel="tag" href="http://technorati.com/tag/linux" class="performancingtags">linux</a>, <a rel="tag" href="http://technorati.com/tag/nforce3" class="performancingtags">nforce3</a>, <a rel="tag" href="http://technorati.com/tag/sound" class="performancingtags">sound</a>, <a rel="tag" href="http://technorati.com/tag/stereo" class="performancingtags">stereo</a>, <a rel="tag" href="http://technorati.com/tag/surround" class="performancingtags">surround</a>, <a rel="tag" href="http://technorati.com/tag/intel8x0" class="performancingtags">intel8x0</a>, <a rel="tag" href="http://technorati.com/tag/NVidia%20CK804" class="performancingtags">NVidia CK804</a><br /></span></div>Unknownnoreply@blogger.com1