{"id":2133,"date":"2012-04-22T01:05:30","date_gmt":"2012-04-21T18:05:30","guid":{"rendered":"http:\/\/www.jfdesignnet.com\/?p=2133"},"modified":"2016-04-27T00:18:51","modified_gmt":"2016-04-26T17:18:51","slug":"ar8161-ethernet-using-compat-wireless","status":"publish","type":"post","link":"https:\/\/www.jfdesignnet.com\/?p=2133","title":{"rendered":"AR8161 ethernet using compat-wireless"},"content":{"rendered":"<p style=\"text-align: justify;\">After rooting the kindle being bugging me whole day yesterday, it&#8217;s time to deal with Atheros ar8161 ethernet driver. This ethernet chipset were used on axioo komodo model and some asus laptop. Once, I remember have to deal with atheros ethernet chipset in past, not clearly remember the chipset code, but for so long the atheros driver was maintained very well with atl modules in kernel tree.<\/p>\n<p style=\"text-align: justify;\">Here is the long story short,<br \/>\nThis is what lspci gives :<br \/>\n{code}<br \/>\n[root@komodo compat-wireless-2012-03-12-p]# lspci<br \/>\n00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br \/>\n00:01.0 PCI bridge: Intel Corporation Xeon E3-1200\/2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br \/>\n00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br \/>\n00:14.0 USB Controller: Intel Corporation Panther Point USB xHCI Host Controller (rev 04)<br \/>\n00:16.0 Communication controller: Intel Corporation Panther Point MEI Controller #1 (rev 04)<br \/>\n00:1a.0 USB Controller: Intel Corporation Panther Point USB Enhanced Host Controller #2 (rev 04)<br \/>\n00:1b.0 Audio device: Intel Corporation Panther Point High Definition Audio Controller (rev 04)<br \/>\n00:1c.0 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 1 (rev c4)<br \/>\n00:1c.1 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 2 (rev c4)<br \/>\n00:1c.2 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 3 (rev c4)<br \/>\n00:1d.0 USB Controller: Intel Corporation Panther Point USB Enhanced Host Controller #1 (rev 04)<br \/>\n00:1f.0 ISA bridge: Intel Corporation Panther Point LPC Controller (rev 04)<br \/>\n00:1f.2 SATA controller: Intel Corporation Panther Point 6 port SATA AHCI Controller (rev 04)<br \/>\n00:1f.3 SMBus: Intel Corporation Panther Point SMBus Controller (rev 04)<br \/>\n03:00.0 Network controller: Atheros Communications Inc. Device 0037 (rev 01)<br \/>\n04:00.0 Ethernet controller: Atheros Communications Device 1091 (rev 10)<br \/>\n[root@komodo compat-wireless-2012-03-12-p]#<br \/>\n{\/code}<\/p>\n<p style=\"text-align: justify;\">No indicated network devices on ubuntu networkmanager neither on net_applet on KLIXs. My first thought, it must be supported on newer kernel and directly gives a shot on oneiric with my 3.2.0-16-jf2-generic and also on KLIXs with my brand new kernel-3.2.15-jf2-bfs &#8230; and &#8230; it returns nothing ;D &#8230; even with my latest build linux-image 3.3.0-994-jf1-generic with intel-drm-fix on ubuntu still cannot fire up the ethernet device.<br \/>\nWhooah &#8230; this must be an interesting hardware devices &#8230;<\/p>\n<p style=\"text-align: justify;\">Googling around the net found some clue on <a href=\"http:\/\/goo.gl\/H7HWp\">linux.kernel<\/a> mailing list &#8230; Apparently the new atheros module alx wasn&#8217;t accepted yet to kernel tree (maybe because hand over on atheros company &#8230; dunno &#8230; but my bookmark on atheros repository download page giving 404). The original maintainer handed over the alx driver module to the other guy and the other guy deprecated the old atl1c module. \ud83d\ude00 ;D<br \/>\nBut, fortunately, now alx supports these two chipsets additionally :<br \/>\n1961:1091 &#8211; AR8161<br \/>\n1969:1090 &#8211; AR8162<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">You may get the <del>latest compat-wireless<\/del> from <a href=\"http:\/\/linuxwireless.org\/en\/users\/Download#Download_latest_Linux_wireless_drivers\">linux wireless download page<\/a>. Extract them to your like folder and cd into it.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"text-decoration: underline;\">EDIT 062512 :<\/span><\/p>\n<p style=\"text-align: justify;\"><em>You may read the below comments since latest compat wireless package was obsoletes the alx driver module.<\/em><\/p>\n<p>Here we go, To only compile the needed module alx for ar8161 :<br \/>\n{code}<br \/>\n[root@komodo compat-wireless-2012-03-12-p]# .\/scripts\/driver-select alx<br \/>\nProcessing new driver-select request&#8230;<br \/>\nBackup exists: Makefile.bk<br \/>\nBackup exists: Makefile.bk<br \/>\nBackup exists: drivers\/net\/ethernet\/broadcom\/Makefile.bk<br \/>\nBackup exists: drivers\/net\/ethernet\/atheros\/Makefile.bk<br \/>\nBackup exists: Makefile.bk<br \/>\nBackup exists: Makefile.bk<br \/>\nBackup exists: drivers\/net\/ethernet\/broadcom\/Makefile.bk<br \/>\n[root@komodo compat-wireless-2012-03-12-p]#<br \/>\n{\/code}<\/p>\n<p>Make sure you&#8217;re working on clean table :<br \/>\n{code}<br \/>\n[root@komodo compat-wireless-2012-03-12-p]# make clean<br \/>\nmake[1]: Entering directory `\/usr\/src\/linux-headers-3.3.0-994-generic&#8217;<br \/>\nCLEAN \/usr\/src\/compat-wireless-2012-03-12-p<br \/>\nCLEAN \/usr\/src\/compat-wireless-2012-03-12-p\/.tmp_versions<br \/>\nmake[1]: Leaving directory `\/usr\/src\/linux-headers-3.3.0-994-generic&#8217;<br \/>\n[root@komodo compat-wireless-2012-03-12-p]#<br \/>\n{\/code}<\/p>\n<p>then compile and install with : make and make install<br \/>\n{code}<br \/>\n[root@komodo compat-wireless-2012-03-12-p]# make<br \/>\n.\/scripts\/gen-compat-autoconf.sh \/usr\/src\/compat-wireless-2012-03-12-p\/.config \/usr\/src\/compat-wireless-2012-03-12-p\/config.mk &gt; include\/linux\/compat_autoconf.h<br \/>\nmake -C \/lib\/modules\/3.3.0-994-generic\/build M=\/usr\/src\/compat-wireless-2012-03-12-p modules<br \/>\nmake[1]: Entering directory `\/usr\/src\/linux-headers-3.3.0-994-generic&#8217;<br \/>\nCC [M] \/usr\/src\/compat-wireless-2012-03-12-p\/compat\/main.o<br \/>\nCC [M] \/usr\/src\/compat-wireless-2012-03-12-p\/compat\/compat_atomic.o<br \/>\nLD [M] \/usr\/src\/compat-wireless-2012-03-12-p\/compat\/compat.o<br \/>\nCC [M] \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alx_main.o<br \/>\nCC [M] \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alx_ethtool.o<br \/>\nCC [M] \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alc_cb.o<br \/>\nCC [M] \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alc_hw.o<br \/>\nCC [M] \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alf_cb.o<br \/>\nCC [M] \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alf_hw.o<br \/>\nLD [M] \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alx.o<br \/>\nBuilding modules, stage 2.<br \/>\nMODPOST 2 modules<br \/>\nCC \/usr\/src\/compat-wireless-2012-03-12-p\/compat\/compat.mod.o<br \/>\nLD [M] \/usr\/src\/compat-wireless-2012-03-12-p\/compat\/compat.ko<br \/>\nCC \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alx.mod.o<br \/>\nLD [M] \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alx.ko<br \/>\nmake[1]: Leaving directory `\/usr\/src\/linux-headers-3.3.0-994-generic&#8217;<br \/>\n[root@komodo compat-wireless-2012-03-12-p]#<br \/>\n{\/code}<\/p>\n<p>{code}<br \/>\n[root@komodo compat-wireless-2012-03-12-p]# make install<\/p>\n<p>make -C \/lib\/modules\/3.3.0-994-generic\/build M=\/usr\/src\/compat-wireless-2012-03-12-p modules<br \/>\nmake[1]: Entering directory `\/usr\/src\/linux-headers-3.3.0-994-generic&#8217;<br \/>\nBuilding modules, stage 2.<br \/>\nMODPOST 2 modules<br \/>\nmake[1]: Leaving directory `\/usr\/src\/linux-headers-3.3.0-994-generic&#8217;<br \/>\nmake -C \/lib\/modules\/3.3.0-994-generic\/build M=\/usr\/src\/compat-wireless-2012-03-12-p &#8220;INSTALL_MOD_DIR=updates&#8221;<br \/>\nmodules_install<br \/>\nmake[1]: Entering directory `\/usr\/src\/linux-headers-3.3.0-994-generic&#8217;<br \/>\nINSTALL \/usr\/src\/compat-wireless-2012-03-12-p\/compat\/compat.ko<br \/>\nINSTALL \/usr\/src\/compat-wireless-2012-03-12-p\/drivers\/net\/ethernet\/atheros\/alx\/alx.ko<br \/>\nDEPMOD 3.3.0-994-generic<br \/>\nmake[1]: Leaving directory `\/usr\/src\/linux-headers-3.3.0-994-generic&#8217;<br \/>\nUpdating Ubuntu&#8217;s initramfs for 3.3.0-994-generic under \/boot\/ &#8230;<br \/>\nWill now run update-grub to ensure grub will find the new initramfs &#8230;<br \/>\nGenerating grub.cfg &#8230;<br \/>\nFound background: \/usr\/share\/grub\/splash\/splash.png<br \/>\nFound background image: \/usr\/share\/grub\/splash\/splash.png<br \/>\nFound linux image: \/boot\/vmlinuz-3.3.0-994-generic<br \/>\nFound initrd image: \/boot\/initrd.img-3.3.0-994-generic<br \/>\nFound linux image: \/boot\/vmlinuz-3.0.0-17-generic<br \/>\nFound initrd image: \/boot\/initrd.img-3.0.0-17-generic<br \/>\nFound memtest86+ image: \/boot\/memtest86+.bin<br \/>\nFound KLIXs on \/dev\/sda6<br \/>\nFound KLIXs on \/dev\/sda7<br \/>\ndone<\/p>\n<p>Note: iwl4965 detected, we&#8217;re going to disable it. If you would like to enable it later you can run:<br \/>\nsudo iwl-load iwl4965<\/p>\n<p>Running iwl-enable iwlagn&#8230;<br \/>\nDisabling iwl4965 &#8230; [OK] Module disabled:<br \/>\nkernel\/drivers\/net\/wireless\/iwlegacy\/iwl4965.ko<\/p>\n<p>Note: atl1c detected, we&#8217;re going to disable it. If you would like to enable it later you can run:<br \/>\nsudo alx-load atl1c<\/p>\n<p>Running alx-enable alx&#8230;<br \/>\nDisabling atl1c &#8230; [OK] Module disabled:<br \/>\nkernel\/drivers\/net\/ethernet\/atheros\/atl1c\/atl1c.ko<br \/>\ndepmod will prefer updates\/ over kernel\/ &#8212; OK!<\/p>\n<p>Now run:<\/p>\n<p>sudo make unload to unload all: wireless, bluetooth and ethernet modules<br \/>\nsudo make wlunload to unload wireless modules<br \/>\nsudo make btunload to unload bluetooth modules<\/p>\n<p>Run sudo modprobe driver-name to load your desired driver.<br \/>\nIf unsure reboot.<\/p>\n<p>[root@komodo compat-wireless-2012-03-12-p]#<br \/>\n{\/code}<\/p>\n<p>Here is ifconfig before loading the alx module :<br \/>\n{code}<br \/>\n[root@komodo compat-wireless-2012-03-12-p]# ifconfig<br \/>\nlo Link encap:Local Loopback<br \/>\ninet addr:127.0.0.1 Mask:255.0.0.0<br \/>\ninet6 addr: ::1\/128 Scope:Host<br \/>\nUP LOOPBACK RUNNING MTU:16436 Metric:1<br \/>\nRX packets:4 errors:0 dropped:0 overruns:0 frame:0<br \/>\nTX packets:4 errors:0 dropped:0 overruns:0 carrier:0<br \/>\ncollisions:0 txqueuelen:0<br \/>\nRX bytes:240 (240.0 B) TX bytes:240 (240.0 B)<\/p>\n<p>[root@komodo compat-wireless-2012-03-12-p]#<br \/>\n{\/code}<\/p>\n<p>and after loading the alx module :<br \/>\n{code}<br \/>\n[root@komodo compat-wireless-2012-03-12-p]# modprobe alx<br \/>\n[root@komodo compat-wireless-2012-03-12-p]# ifconfig<br \/>\neth0 Link encap:Ethernet HWaddr e8:40:f2:86:df:91<br \/>\ninet6 addr: fe80::ea40:f2ff:fe86:df91\/64 Scope:Link<br \/>\nUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br \/>\nRX packets:1 errors:0 dropped:0 overruns:0 frame:0<br \/>\nTX packets:3 errors:0 dropped:0 overruns:0 carrier:1<br \/>\ncollisions:0 txqueuelen:1000<br \/>\nRX bytes:60 (60.0 B) TX bytes:510 (510.0 B)<br \/>\nInterrupt:18<\/p>\n<p>lo Link encap:Local Loopback<br \/>\ninet addr:127.0.0.1 Mask:255.0.0.0<br \/>\ninet6 addr: ::1\/128 Scope:Host<br \/>\nUP LOOPBACK RUNNING MTU:16436 Metric:1<br \/>\nRX packets:4 errors:0 dropped:0 overruns:0 frame:0<br \/>\nTX packets:4 errors:0 dropped:0 overruns:0 carrier:0<br \/>\ncollisions:0 txqueuelen:0<br \/>\nRX bytes:240 (240.0 B) TX bytes:240 (240.0 B)<\/p>\n<p>[root@komodo compat-wireless-2012-03-12-p]#<br \/>\n{\/code}<\/p>\n<p style=\"text-align: justify;\">the NetworkManager on ubuntu (and also net_applet on KLIXs) immediately detecting there is a new network devices and automatically connecting to my router.<\/p>\n<p><a href=\"http:\/\/www.jfdesignnet.com\/wp-content\/uploads\/2012\/04\/ar8161-klixs.jpg\" rel=\"lightbox[2133]\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-2143 size-medium\" title=\"ar8161-klixs\" src=\"http:\/\/www.jfdesignnet.com\/wp-content\/uploads\/2012\/04\/ar8161-klixs-300x169.jpg\" width=\"300\" height=\"169\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.jfdesignnet.com\/wp-content\/uploads\/2012\/04\/ar8161-ubuntu.jpg\" rel=\"lightbox[2133]\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-2144 size-medium\" title=\"ar8161-ubuntu\" src=\"http:\/\/www.jfdesignnet.com\/wp-content\/uploads\/2012\/04\/ar8161-ubuntu-300x169.jpg\" width=\"300\" height=\"169\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">The alx module code has now been posted for inclusion upstream to kernel tree, but If you want to install this driver right now, get it <a href=\"http:\/\/www.jfdesignnet.com\/wp-content\/uploads\/2012\/04\/compat-wireless-2012-03-12-p.tar.bz2\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After rooting the kindle being bugging me whole day yesterday, it&#8217;s time to deal with Atheros ar8161 ethernet driver. This ethernet chipset were used on axioo komodo model and some asus laptop. Once, I remember have to deal with atheros ethernet chipset in past, not clearly remember the chipset code, but for so long the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2144,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,17,9,14],"tags":[40,45,66,137],"_links":{"self":[{"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/posts\/2133"}],"collection":[{"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2133"}],"version-history":[{"count":1,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/posts\/2133\/revisions"}],"predecessor-version":[{"id":4764,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/posts\/2133\/revisions\/4764"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=\/wp\/v2\/media\/2144"}],"wp:attachment":[{"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jfdesignnet.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}