OS X Lion on T420: Adjust brightness using keyboard shortcut

Masih tentang ngoprek OS X Lion di Thinkpad T420…
Well, since the brightness keyboard shortcut (Fn+PgUp/Fn+PgDown) is not detected by OS X Lion, it is time to find for an alternative method to adjust the brightness using a keyboard shortcut. Why? Is the brightness slider not working? Indeed it is working. Brightness Slider is working nicely too. The problem is the slider will cause the LCD entirely dark if it moved to its minimum value. In that case, I will need a keyboard shortcut to control brightness.

Here we go…
First, there is a nice program that can adjust LCD brightness from command line. Just got this information from this article. I used the pre-compiled binary because it’s working without a problem in my Lion, no need to compile the source.

The next step is creating a shell script that adjust the brightness by using “brightness” program I mentioned earlier. I split this script into 2 part, brightness-up.sh and brightness-down.sh, because each script will be called by a specific keyboard shortcut. Here is my brightness-up.sh and brightness-down.sh:

brightness-up.sh
 #!/bin/bash
 CURRENT_BRIGHTNESS=`/usr/bin/brightness -l | grep bright | cut -d " " -f 4`
 echo "Current brightness = $CURRENT_BRIGHTNESS"
 NEXT_BRIGHTNESS=`echo $CURRENT_BRIGHTNESS+0.1 | bc`
 if [[ $(echo "$NEXT_BRIGHTNESS > 1" | bc) -eq "1" ]]
 then
   NEXT_BRIGHTNESS=1
 fi
 echo "Next brightness = $NEXT_BRIGHTNESS"
 /usr/bin/brightness $NEXT_BRIGHTNESS
brightness-down.sh
 #!/bin/bash
 CURRENT_BRIGHTNESS=`/usr/bin/brightness -l | grep bright | cut -d " " -f 4`
 echo "Current brightness = $CURRENT_BRIGHTNESS"
 NEXT_BRIGHTNESS=`echo $CURRENT_BRIGHTNESS-0.1 | bc`
 if [[ $(echo "$NEXT_BRIGHTNESS < 0.05" | bc) -eq "1" ]]
 then
   NEXT_BRIGHTNESS=0.01
 fi
 echo "Next brightness = $NEXT_BRIGHTNESS"
 /usr/bin/brightness $NEXT_BRIGHTNESS

After that, I need to make an Apple Script to call those each shell script. For example I made a brightness-down.scpt that call brightness-down.sh, don’t forget to use the absolute path of the shell script. Here is the screenshot from my Apple Script, it’s simple. Just one line :^)

The last step is create keyboard shortcut that call the Apple Script. Since I already have Alfred, it is much easier. Just open Alfred’s preference → Hotkeys, drop the Apple Script right there and select the keyboard shortcut.

Done. Everything works as expected.

Control your OS X Lion GUI from Android

Activate OS X Lion built-in VNC server
Max OS comes with built-in VNC server. No need to install any third party apps. Just go to System Preferences → Sharing and check Screen Sharing on and Done!

Install VNC client on Android
Here is the trick. Install VNC client that support Mac OS login option. Since login window through VNC seems broken in Lion. So using regular VNC client will freeze the login window. I personally use Remotix. It has lite and paid version.

 

Mengaktifkan sleep feature & SpeedStep di Mac OS X Lion (Thinkpad T420i)

Sudah lama engga ngoprek OS ini, karena memang awalnya cuma buat eksperimen saja. Terakhir kali kalo engga salah ingat OS ini engga bisa sleep aka. standby, padahal fitur ini saya butuhkan. Akhirnya saya coba berselancar lagi untuk mencari cara bagaimana mengaktifkan sleep di Thinkpad T420, karena menurut info dari forum insanelymac[1], sleep is supported. Selain itu si CPU juga engga support SpeedStep. Apa sih SpeedStep itu? Menurut mbah Wiki[0]:

“SpeedStep is a trademark for a series of dynamic frequency scaling technologies (codenamed Geyserville[1] and including SpeedStep, SpeedStep II, and SpeedStep III) built into someIntel microprocessors that allow the clock speed of the processor to be dynamically changed (to different P-states) by software. This allows the processor to meet the instantaneous performance needs of the operation being performed, while minimizing power draw and heat generation. Enhanced Intel SpeedStep is sometimes abbreviated as EIST.”

Langkah pertama, backup, backup, backup. Saya ulangi tiga kali karena ini sangat penting. In case something goes wrong, saya bisa restore kembali dari OS sebelah (Linux). Apa yang di backup? Yang di backup adalah kext. Kext ini semacam kernel module di Linux (citation needed). Lokasinya berada di /System/Library/Extensions (/S/L/E) atau bisa juga di /Extra. Dua kext yang harus dihapus adalah SleepEnabler.kext dan NullCPUPowerManagement.kext[1][2]. Dengan SleepEnabler.kext dan NullCPUPowerManagement.kext memang udah bisa sleep tapi CPU g support SpeedStep, walhasil P-States-nya cuma 800MHz sama 2.1GHz. Bisa dicek dengan me-load MSRDumper.kext[3] sambil mantengin kernel.log, output sebelum SpeedStep diaktifkan kurang lebih seperti ini:

kernel.log
 Dec 23 08:23:56 pcxthinklion kernel[0]: CoreCount: 2
 Dec 23 08:23:56 pcxthinklion kernel[0]: ThreadCount: 4
 Dec 23 08:23:56 pcxthinklion kernel[0]: 0xE2: 0x1e008404
 Dec 23 08:24:01 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:01 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8
 Dec 23 08:24:01 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:01 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8
 Dec 23 08:24:02 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:02 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8
 Dec 23 08:24:02 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:02 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8
 Dec 23 08:24:03 pcxthinklion kernel[0]: MSRDumper CoreMulti(21)
 Dec 23 08:24:03 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8 21
 Dec 23 08:24:03 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:03 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8 21
 Dec 23 08:24:04 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:04 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8 21
 Dec 23 08:24:04 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:04 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8 21
 Dec 23 08:24:05 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:05 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8 21
 Dec 23 08:24:05 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:05 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8 21
 Dec 23 08:24:06 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:06 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8 21
 Dec 23 08:24:06 pcxthinklion kernel[0]: MSRDumper CoreMulti(8)
 Dec 23 08:24:06 pcxthinklion kernel[0]: MSRDumper PStatesReached: 8 21
Backup:
 # mv /System/Library/Extensions/NullCPUPowerManagement.kext /Users/bowo/Backup/
 # mv /System/Library/Extensions/SleepEnabler.kext /Users/bowo/Backup/

Langkah kedua adalah me-replace AppleIntelCPUPowerManagement.kext dengan versi yang sudah di-patch[4]. Saya pake AppleIntelCPUPowerManagement.zip. Esktrak, kemudian timpakan ke “/System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement”. (Backup dulu!)

Replace:
 # cp -r /System/Library/Extensions/AppleIntelCPUPowerManagement.kext /Users/bowo/Backup/
 # cp /Users/bowo/Downloads/AppleIntelCPUPowerManagement /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement

Langkah ketiga, menambahkan option -allowAppleCPUPM pada kernel boot flags, kalo pake boot manager Chameleon file confignya ada di /Extra/org.chameleon.Boot.plist

/Extra/org.chameleon.Boot.plist
 ...
 <string>mach_kernel</string>
 <key>Kernel Flags</key>
 <string>npci=0x3000 darkwake=1 -force64 -allowAppleCPUPM</string>
 <key>Legacy Logo</key>
 ...

Langkah terakhir, rebuild kextcache. Bisa pake tool semacam Kext Wizard[5]. Setelah selesai di rebuild, reboot dan cek lagi di kernel.log (dengan me-load MSRDumper.kext) dan…. voila SpeedStep activated (and sleep is also supported) :D

Console-SpeedStep-enabled.png

Now, it’s (almost) fully working Mac OS X (except for internal Intel Wireless 1000-n)

[0] http://en.wikipedia.org/wiki/Speedstep
[1] http://www.insanelymac.com/forum/topic/268280-guide-thinkpad-t420-with-mountain-lion/
[2] http://www.insanelymac.com/forum/topic/258611-speedstepper-now-supports-mountain-lion-1083/#entry1693683
[3] http://www.insanelymac.com/forum/topic/258612-msrdumper/
[4] http://www.insanelymac.com/forum/topic/258611-speedstepper-now-supports-mountain-lion-1083/page-19#entry1797969
[5] http://www.insanelymac.com/forum/topic/253395-kext-wizard-easy-to-use-kext-installer-and-more/

Instalasi Minbar di Slackware64-14.0

Minbar adalah sebuah aplikasi pengingat waktu sholat di Linux. Aplikasi ini berbasis GTK dan membutuhkan library ITL (libitl). Jadi sebelum menginstall pastikan dependensi sudah terpenuhi. Slackbuild libitl dapat didownload di alamat https://github.com/w41l/wlsbuild/tree/master/libitl

Sedangkan source tarball Minbar dapat di download dari website Debian/Ubuntu karena dua distro ini juga menyediakan patch untuk Minbar, sehingga dapat di compile pada lingkungan Linux yang memiliki pemutakhiran software terbaru. NOTE: Pastikan patch dijalankan sesuai urutan!

Proses kompilasi sebenarnya tidak berbeda dengan aplikasi Linux yang lain. Namun ada beberapa trouble yang saya jumpai pada saat proses compile maupun pada saat menjalankan aplikasi ini. Berikut beberapa catatan problem solving kasus yang saya alami:

Proses make berhenti karena system tidak mendeteksi libitl (cannot find -litl)
solusi: dengan menambahkan “-L/usr/lib64/itl” di env variable LD_FLAGS (di src/Makefile)

Proses make berhenti
error message:
/usr/lib64/gcc/x86_64-slackware-linux/4.7.2/../../../../x86_64-slackware-linux/bin/ld: note: «sincos@@GLIBC_2.2.5» est défini dans le DSO /lib64/libm.so.6 donc essayez de l’ajouter à la ligne de commande du lieur
/lib64/libm.so.6: could not read symbols: Opération invalide
solusi: dengan menambahkan parameter “-lm” di env variable LD_FLAGS (di src/Makefile)

final LD_FLAGS env variable LDFLAGS = -Wl,-O1,-L/lib64,-L/usr/lib64,-L/usr/lib64/itl -lm

SIGSEV saat menyimpan konfigurasi
Ketika melakukan konfigurasi dan menekan tombol OK, konfigurasi bisa tersimpan namun tiba-tiba aplikasi tertutup (exit). Buat saya tidak terlalu masalah, karena saya tidak sering mengubah konfigurasi. Yang jadi masalah adalah sound suara azan tidak bisa terimpan. Untuk menyimpan path sound azan saya gunakan perintah ini:
gconftool-2 –set “/apps/minbar/athan/normal” –type string /home/bowo/Audios/Other/azan.wav
perintah ini adalah merubah konfigurasi dengan menggunakan gconftool, secara Minbar menggunakan GConf untuk backend konfigurasi nya.

[Trick] Installing Steam client update

Linux steamed

“Error: Steam needs to be online to update, Please confirm your internet connection.”
Have you ever see those error message. I got those annoying error message whenever I tried to launch Steam client on Slackware Linux. Indeed, my machine was connected to internet. As many people suggest, I did change my registry.vdf value by setting ”Offline” to “0″, remove steam.pid, but still nothing worked. Finally, I come with my own solution. Here is another way to install steam client update. Using Squid (again) to record the URL of Steam update. Yeah, it seems that Squid is more than caching and firewalling tool. So, instead of using Steam client, I tried to download all of update files manually, and copy them to the Steam package directory.

How do I get the URL address of Steam update?
Tell Steam to use http proxy. Launch it. Check Squid’s access log.

 $ export http_proxy=127.0.0.1:3128
 $ steam
 Slackware 32-bit: Check the 'deps/<slackwareversion>' directory where you downloaded this package and install/upgrade the packages you find there.
 Slackware 64-bit multilib: Install/upgrade the packages in the 'deps/<slackwareversion>/multilib' subdirectory instead.Running Steam on slackware 14.0 64-bit
 STEAM_RUNTIME is enabled automatically
 Installing breakpad exception handler for appid(steam)/version(0_client)
 Installing breakpad exception handler for appid(steam)/version(1.0_client)
 Installing breakpad exception handler for appid(steam)/version(1.0_client)
 ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
 [2013-05-11 20:00:31] Startup - updater built Apr 30 2013 10:04:24
 [2013-05-11 20:00:31] uninstalled manifest found in /home/bowo/.local/share/Steam/package/steam_client_ubuntu12 (1).
 [2013-05-11 20:00:31] Package file strings_all.zip.f577dae8b2ac52b10507c25a72d53cfb3574a7df missing or incorrect size
 [2013-05-11 20:00:31] Package file resources_all.zip.0a562dcafaeef8be074a923eef71b75ee0cc4c2f missing or incorrect size
 [2013-05-11 20:00:31] Package file tenfoot_all.zip.66df4ef70bc47cab870909a730a584a7bf100677 missing or incorrect size
 ....
 ....
Switch to another terminal, monitor Squid’s access log. After these message appears, kill Steam.
 # tail -f /var/log/squid/access.log
 1368262021.458 934896 127.0.0.1 TCP_MISS/200 12506 POST http://stats.wibowo.uni.me/index.php? - DIRECT/65.19.141.68 text/html
 1368262415.636 901002 127.0.0.1 TCP_MISS/504 4205 GET http://kkcdn-static.kaskus.co.id/img/icons/new/thumbsup.png - DIRECT/216.244.87.154 text/html
 1368262416.410 900969 127.0.0.1 TCP_REFRESH_FAIL/200 1980 GET http://kkcdn-static.kaskus.co.id/img/icons/new/video.png - DIRECT/216.244.87.154 image/png
 1368262418.644 902530 127.0.0.1 TCP_MISS/504 4205 GET http://kkcdn-static.kaskus.co.id/css_v0.1/img/skin/skin-19.jpg - DIRECT/216.244.87.154 text/html
 1368262448.729 903147 127.0.0.1 TCP_MISS/504 4205 GET http://toolbarqueries.google.com/search? - DIRECT/173.194.38.178 text/html
 1368262466.422 950317 127.0.0.1 TCP_MISS/504 4205 GET http://kkcdn-static.kaskus.co.id/img/icons/new/smile5.png - DIRECT/216.244.87.154 text/html
 1368262600.155 900150 127.0.0.1 TCP_MISS/504 4205 GET http://kkcdn-static.kaskus.co.id/img/icons/new/thumbsup.png - DIRECT/216.244.87.154 text/html
 1368277236.370   5022 127.0.0.1 TCP_MISS/302 351 GET http://client-download.steampowered.com/client/steam_client_ubuntu12 - DIRECT/205.196.6.130 -
 1368277239.593   3159 127.0.0.1 TCP_MISS/200 3442 GET http://media2.steampowered.com/client/steam_client_ubuntu12 - DIRECT/205.185.216.10 application/octet-stream
 1368277243.053   3197 127.0.0.1 TCP_MISS/302 385 GET http://client-download.steampowered.com/client/tenfoot_all.zip.66df4ef70bc47cab870909a730a584a7bf100677 - DIRECT/205.196.6.130 -
 1368277250.435  10544 127.0.0.1 TCP_MISS/302 399 GET http://client-download.steampowered.com/client/tenfoot_ambientsounds_all.zip.ac31503c42f094976f64844d8ff54705cadc7dd3 - DIRECT/205.196.6.130 -
 1368277250.509  10627 127.0.0.1 TCP_MISS/302 385 GET http://client-download.steampowered.com/client/strings_all.zip.f577dae8b2ac52b10507c25a72d53cfb3574a7df - DIRECT/205.196.6.130 -
 1368277250.510  10619 127.0.0.1 TCP_MISS/302 392 GET http://client-download.steampowered.com/client/tenfoot_sounds_all.zip.2c2fba7870954a966c5f9dbc4febd3ebbb869910 - DIRECT/205.196.6.130 -
 1368277250.512  10621 127.0.0.1 TCP_MISS/302 392 GET http://client-download.steampowered.com/client/tenfoot_fonts_all.zip.06551e23c14845665e7671feb9453b3ca1052939 - DIRECT/205.196.6.130 -
 1368277250.515  10625 127.0.0.1 TCP_MISS/302 393 GET http://client-download.steampowered.com/client/tenfoot_images_all.zip.b8183b39dd646a75c7332f034d456feca26597e3 - DIRECT/205.196.6.130 -
 1368277250.517  10626 127.0.0.1 TCP_MISS/302 385 GET http://client-download.steampowered.com/client/public_all.zip.46aa481dfda5752ab89c39a6e37c2edc20a7571b - DIRECT/205.196.6.130 -
 1368277250.519  10628 127.0.0.1 TCP_MISS/302 387 GET http://client-download.steampowered.com/client/bins_ubuntu12.zip.197f65256e33e81c6ae99dd1a0c8907e9aac2532 - DIRECT/205.196.6.130 -
 1368277250.520  10630 127.0.0.1 TCP_MISS/302 396 GET http://client-download.steampowered.com/client/runtime_part0_ubuntu12.zip.5de61e24414099bc83a812a4eb4da4781d60d6fe - DIRECT/205.196.6.130 -
 1368277250.522  10632 127.0.0.1 TCP_MISS/302 389 GET http://client-download.steampowered.com/client/steam_ubuntu12.zip.5506a5aec0a02d18a43a27c5c962cd7884765e7e - DIRECT/205.196.6.130 -
 1368277250.525  10634 127.0.0.1 TCP_MISS/302 389 GET http://client-download.steampowered.com/client/webkit_ubuntu12.zip.381e75bfc3340cf5eae9d265abb6de501f393f18 - DIRECT/205.196.6.130 -
 1368277250.527  10637 127.0.0.1 TCP_MISS/302 388 GET http://client-download.steampowered.com/client/sdl2_ubuntu12.zip.ab74d47a8494a9a7b055c79789309ef3c9cdbf19 - DIRECT/205.196.6.130 -
 1368277259.189  19298 127.0.0.1 TCP_MISS/302 388 GET http://client-download.steampowered.com/client/resources_all.zip.0a562dcafaeef8be074a923eef71b75ee0cc4c2f - DIRECT/205.196.6.130 -
 .....
 .....
 1368277358.088 107527 127.0.0.1 TCP_MISS/200 441 GET http://media2.steampowered.com/client/tenfoot_images_all.zip.b8183b39dd646a75c7332f034d456feca26597e3 - DIRECT/205.185.216.10 application/octet-stream
 1368277406.911 156330 127.0.0.1 TCP_MISS/200 15786 GET http://media3.steampowered.com/client/tenfoot_fonts_all.zip.06551e23c14845665e7671feb9453b3ca1052939 - DIRECT/8.26.194.125 application/octet-stream
 1368277407.076 163963 127.0.0.1 TCP_MISS/200 62545 GET http://media.steampowered.com/client/tenfoot_all.zip.66df4ef70bc47cab870909a730a584a7bf100677 - DIRECT/117.121.249.253 application/octet-stream
 1368277407.076 156575 127.0.0.1 TCP_MISS/200 59769 GET http://media.steampowered.com/client/tenfoot_ambientsounds_all.zip.ac31503c42f094976f64844d8ff54705cadc7dd3 - DIRECT/117.121.249.253 application/octet-stream
 1368277407.076 156523 127.0.0.1 TCP_MISS/200 20905 GET http://media.steampowered.com/client/strings_all.zip.f577dae8b2ac52b10507c25a72d53cfb3574a7df - DIRECT/117.121.249.253 application/octet-stream
 1368277407.076 156490 127.0.0.1 TCP_MISS/200 18129 GET http://media.steampowered.com/client/tenfoot_sounds_all.zip.2c2fba7870954a966c5f9dbc4febd3ebbb869910 - DIRECT/117.121.249.253 application/octet-stream
 1368277407.076 156490 127.0.0.1 TCP_MISS/200 11544 GET http://media2.steampowered.com/client/public_all.zip.46aa481dfda5752ab89c39a6e37c2edc20a7571b - DIRECT/205.185.216.10 application/octet-stream
 1368277407.076 156490 127.0.0.1 TCP_MISS/200 18129 GET http://media.steampowered.com/client/bins_ubuntu12.zip.197f65256e33e81c6ae99dd1a0c8907e9aac2532 - DIRECT/117.121.249.253 application/octet-stream
 1368277407.076 156490 127.0.0.1 TCP_MISS/200 8795 GET http://media3.steampowered.com/client/sdl2_ubuntu12.zip.ab74d47a8494a9a7b055c79789309ef3c9cdbf19 - DIRECT/8.26.194.125 application/octet-stream
 1368277407.076 156490 127.0.0.1 TCP_MISS/200 10181 GET http://media3.steampowered.com/client/steam_ubuntu12.zip.5506a5aec0a02d18a43a27c5c962cd7884765e7e - DIRECT/8.26.194.125 application/octet-stream
 1368277407.076 156490 127.0.0.1 TCP_MISS/200 25429 GET http://media.steampowered.com/client/runtime_part0_ubuntu12.zip.5de61e24414099bc83a812a4eb4da4781d60d6fe - DIRECT/117.121.249.253 application/octet-stream
 1368277407.076 147816 127.0.0.1 TCP_MISS/200 6016 GET http://media3.steampowered.com/client/resources_all.zip.0a562dcafaeef8be074a923eef71b75ee0cc4c2f - DIRECT/8.26.194.125 application/octet-stream
 ...

I got a bunch of URL links to zip file (application/octet-stream) followed by its shasum. Here is the final URL of Steam client update.

 http://media2.steampowered.com/client/tenfoot_images_all.zip.b8183b39dd646a75c7332f034d456feca26597e3
 http://media3.steampowered.com/client/tenfoot_fonts_all.zip.06551e23c14845665e7671feb9453b3ca1052939
 http://media.steampowered.com/client/tenfoot_all.zip.66df4ef70bc47cab870909a730a584a7bf100677
 http://media.steampowered.com/client/tenfoot_ambientsounds_all.zip.ac31503c42f094976f64844d8ff54705cadc7dd3
 http://media.steampowered.com/client/strings_all.zip.f577dae8b2ac52b10507c25a72d53cfb3574a7df
 http://media.steampowered.com/client/tenfoot_sounds_all.zip.2c2fba7870954a966c5f9dbc4febd3ebbb869910
 http://media2.steampowered.com/client/public_all.zip.46aa481dfda5752ab89c39a6e37c2edc20a7571b
 http://media.steampowered.com/client/bins_ubuntu12.zip.197f65256e33e81c6ae99dd1a0c8907e9aac2532
 http://media3.steampowered.com/client/sdl2_ubuntu12.zip.ab74d47a8494a9a7b055c79789309ef3c9cdbf19
 http://media3.steampowered.com/client/steam_ubuntu12.zip.5506a5aec0a02d18a43a27c5c962cd7884765e7e
 http://media.steampowered.com/client/runtime_part0_ubuntu12.zip.5de61e24414099bc83a812a4eb4da4781d60d6fe
 http://media3.steampowered.com/client/resources_all.zip.0a562dcafaeef8be074a923eef71b75ee0cc4c2f
 http://media.steampowered.com/client/webkit_ubuntu12.zip.381e75bfc3340cf5eae9d265abb6de501f393f18

Now, you know what should you do.

What to do after downloading those files?
Copy them to ~/.local/share/Steam/package/ and re-launch Steam.

Done.
Finally, I got Steam window opened (I even didn’t try any game yet). Well, at least I made a progress.

 

=-=-=-=-=
Powered by Blogilo

Use Google Chrome to open links in Thunderbird

thunderbird-google_chrome

Recently, I decided to switch-back to Google Chrome as my default web browser due to high CPU consumption in Firefox. Actually, it’s simple to set Google Chrome as default web browser. Just go to the Google Chrome’s preferences and select Google Chrome as default web browser. This step will also automatically change the value of default web browser in KDE System Settings.

Now, the problem is, Thunderbird seems ignored its configuration (I verified that xdg-open handle URL by opening Google Chrome). This snippet is coming from Thunderbird pref.js:

user_pref("network.protocol-handler.app.ftp", "xdg-open");  
user_pref("network.protocol-handler.app.http", "xdg-open");  
user_pref("network.protocol-handler.app.https", "xdg-open");  
user_pref("network.protocol-handler.warn-external.file", true);  
user_pref("network.protocol-handler.warn-external.ftp", true);  
user_pref("network.protocol-handler.warn-external.http", true);  
user_pref("network.protocol-handler.warn-external.https", true);

I tried to change the value of GConf by invoking this command, but still didn’t work:

gconftool-2 --type string -s /desktop/gnome/url-handlers/http/command "/usr/bin/google-chrome %s"

Event this step I found in somewhere on Internet:

  • cp /opt/google/chrome/xdg-settings /usr/bin/xdg-settings (backup the original first for sure)
  • Open Firefox.  Edit >> Preferences >> Advanced >> General >> Check Now and click yes to set Firefox as the default browser
  • Log out of your session
  • Log in, Open Chrome, click Set Default at the top when it asks to be set as the default browser, or go to Tools >> Options >> Make Google Chrome my default browser

No solutions on the internet worked in my case. But I found this method absolutely solve it:
Instead of pref.js or user.js, I edit mimeTypes.rdf (accidently open this file) inside Thunderbird default profile directory and found this magic line:

...  
<RDF:Description RDF:about="urn:scheme:externalApplication:http"  
                   NC:prettyName="firefox"  
                   NC:path="/usr/bin/firefox" />  
...  
<RDF:Description RDF:about="urn:scheme:externalApplication:https"  
                   NC:prettyName="firefox"  
                   NC:path="/usr/bin/firefox" />  
...

So I changed those lines to use Google Chrome instead:

...  
<RDF:Description RDF:about="urn:scheme:externalApplication:http"  
                   NC:prettyName="google-chrome"  
                   NC:path="/usr/bin/google-chrome" />  
...  
<RDF:Description RDF:about="urn:scheme:externalApplication:https"  
                   NC:prettyName="google-chrome"  
                   NC:path="/usr/bin/google-chrome" />  
...

Restart Thunderbird, click on any link, and ta-da.. Google Chrome is showing..

=-=-=-=-=
Powered by Blogilo

Web-based Blackmart™ APK Finder & Direct Downloader

blackmart.uni.me

Saya bikin website http://blackmart.uni.me/, karena selama ini download APK (dari PC) (terkadang) bisa dibilang “cukup” ribet. Ada yang harus registrasi dulu, login, atau kalo ga download pake captcha, pake ads, pake wait time, QR code, etc..

Terinspirasi dari post saya sebelumnya, [Trik] mendapatkan direct link APK/GPK dari Blackmart/Muzhiwan, akhirnya saya coba buat web tersebut menggunakan Python web framework, Django. Android freak mana yang ga tahu aplikasi Blackmart, cuma sayang aplikasi ini ga ada versi web-nya (CMIIW). Sekarang.. cari, download APK free/paid, ga pake ribet lagi. Download directly, multithread supported, dan resume-able.. Semoga bermanfaat.

Notes:
  • This web is still in very early development stage. PM saya kalo menemukan kesalahan-kesalahan atau sekedar kritik/saran .
  • Saya tidak bertanggung jawab atas hasil pencarian atau konten yang didownload, itu semua langsung dari server blackmart, saya cuma bikin search engine.
  • Saya bukan web designer nor web developer, jadi program & tampilannya ada apanya. Eh.. apa adanya.
  • Search option-nya memang tidak 100% working , eg. sorting by price , rate, date, dll.. itu memang dari Blackmart-nya. Kalo dicek Blackmart versi Android, listing hasil search-nya sama.
  • AFAIK, Blackmart provides only the APK, you’ll find no data in your search result.
  • Kode sumber bisa di request via japri :)
  • Jadi.. ayamku..??? Sudah unduh APK dulu sana.. (mumpung algoritma Blackmart belum berubah) :D

=-=-=-=-=
Powered by Blogilo

[Trik] Mendapatkan direct link apk/gpk dari muzhiwan/blackmart

Trik ini berguna kalo Anda ingin download app/game yang ukurannya besar dari unofficial market tool seperti muzhiwan atau blackmart (yang udah saya test). Prinsipnya adalah dengan membelokkan request http dari device -Android- ke squid cache proxy, sehingga bisa dicek requestnya di access.log si squid.

Bahan-bahan:

  • Android handset yang sudah terinstall aplikasi tersebut :D  (muzhiwan/blackmart)
  • Laptop yang udah terinstall squid (dan udah dikonfigurasi tentunya) yang akan dijadikan router/gateway

Cara memasak:
Konfigurasi laptop sebagai router dulu kemudian hubungkan Android dengan laptop (melalui jaringan ad-hoc) langkah-langkahnya bisa dicek disini. Kemudian jalankan perintah tambahan untuk meredirect semua request http (port 80) yang berasal dari wifi ke local port squid (default tcp 3128).

iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 3128

jadi kalo discript sebelumnya seperti ini:

# iptables -t nat --flush
# iptables -t filter --flush
# iptables --flush
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables --append FORWARD --in-interface wlan0 -j ACCEPT
# echo 1 > /proc/sys/net/ipv4/ip_forward

menjadi

# iptables -t nat --flush
# iptables -t filter --flush
# iptables --flush
# iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables --append FORWARD --in-interface wlan0 -j ACCEPT
# echo 1 > /proc/sys/net/ipv4/ip_forward

Uji coba:
1. monitor access.log dari squid (default /var/log/squid/access.log ), dengan perintah tail -f untuk realtime monitoring.

tail -f /var/log/squid/access.log

format output-nya kurang lebih begini:

1366616572.119   2318 192.168.10.4 TCP_MISS/200 1392 GET http://profile.ak.fbcdn.net/hprofile-ak-prn1/s32x32/624012_100000979046568_650384034_q.jpg - DIRECT/72.246.189.248 image/jpeg
1366616572.215   2283 192.168.10.4 TCP_MISS/200 1474 GET http://profile.ak.fbcdn.net/hprofile-ak-prn1/s32x32/174384_100001116881919_310459008_q.jpg - DIRECT/72.246.189.248 image/jpeg
1366616572.255   1495 192.168.10.4 TCP_MISS/200 394 GET http://www.facebook.com/ai.php? - DIRECT/69.171.229.25 text/html
1366616572.514    700 192.168.10.4 TCP_MISS/200 2537 GET http://profile.ak.fbcdn.net/hprofile-ak-ash4/274425_1234809719_1510989493_q.jpg - DIRECT/72.246.189.248 image/jpeg
1366616572.673    939 192.168.10.4 TCP_MISS/200 1371 GET http://profile.ak.fbcdn.net/hprofile-ak-ash4/s32x32/260878_100001343496028_1886186404_q.jpg - DIRECT/72.246.189.248 image/jpeg
1366616597.614   2265 192.168.10.4 TCP_MISS/200 565 POST http://www.facebook.com/ajax/bz - DIRECT/69.171.229.25 application/x-javascript
1366616601.910  41508 192.168.10.4 TCP_MISS/200 471 GET http://6-pct.channel.facebook.com/pull? - DIRECT/69.171.235.16 text/plain
1366616627.395   1968 192.168.10.4 TCP_MISS/200 565 POST http://www.facebook.com/ajax/bz - DIRECT/69.171.229.25 application/x-javascript
1366616643.129  41198 192.168.10.4 TCP_MISS/200 471 GET http://6-pct.channel.facebook.com/pull? - DIRECT/69.171.235.16 text/plain
1366617931.293   1607 10.194.73.176 TCP_MISS/200 5184 GET http://www.baidu.com/ - DIRECT/220.181.112.143 text/html

2. Sambil menjalankan perintah diatas (di laptop), kembali ke Android, buka muzhiwan/blackmart, kemudian pilih game yang kita ingin dapatkan link apk-nya, pilih download:

dan ketika downloadnya udah mulai jalan pilih pause/stop:

kemudian “kembali ke laptop” harusnya ada penampakan seperti ini di squid access.log :

1366618672.693   1623 10.227.11.197 TCP_MISS/200 5184 GET http://www.baidu.com/ - DIRECT/220.181.112.143 text/html
1366618673.214   1643 192.168.10.4 TCP_MISS/301 388 GET http://www.muzhiwan.com/bbs/uc_server/avatar.php? - DIRECT/114.113.149.105 text/html
1366618673.235      7 192.168.10.4 TCP_MEM_HIT/200 4353 GET http://www.muzhiwan.com/bbs/uc_server/images/noavatar_middle.gif - NONE/- image/gif
1366618674.251   3090 192.168.10.4 TCP_MISS/200 6395 GET http://pan.baidu.com/share/link? - DIRECT/202.108.23.29 text/html
1366618677.359   1511 192.168.10.4 TCP_MISS/301 388 GET http://www.muzhiwan.com/bbs/uc_server/avatar.php? - DIRECT/114.113.149.105 text/html
1366618677.382      7 192.168.10.4 TCP_MEM_HIT/200 4354 GET http://www.muzhiwan.com/bbs/uc_server/images/noavatar_middle.gif - NONE/- image/gif
1366618680.836   4138 192.168.10.4 TCP_MISS/200 270 POST http://alog.umeng.com/app_logs - DIRECT/211.151.139.211 application/json
1366618682.093   2046 192.168.10.4 TCP_MISS/301 406 GET http://www.muzhiwan.com/bbs/uc_server/avatar.php? - DIRECT/114.113.149.105 text/html
1366618692.478  18213 192.168.10.4 TCP_MISS/200 87284 GET http://down.muzhiwan.com/2011/11/28/4ed2efe930956.gpk - DIRECT/113.5.250.138 application/octet-stream
1366618692.938  10832 192.168.10.4 TCP_MISS/200 20439 GET http://www.muzhiwan.com/bbs/uc_server/data/avatar/000/19/42/01_avatar_middle.jpg - DIRECT/114.113.149.105 image/jpeg
1366618724.933   2655 192.168.10.4 TCP_MISS/200 6399 GET http://pan.baidu.com/share/link? - DIRECT/202.108.23.29 text/html
NB: GPK adalah filetype yang digunakan oleh Muzhiwan yang sebenarnya isinya adalah kompresi dari APK dan data dari aplikasi tersebut (sehingga ukuran file biasanya besar). Contoh yang pake Blackmart (APK):

Buka blackmart, pilih app, kemudian pilih install/download:

kalo download udah jalan, pilih cancel.
Cek access.log squid di laptop, harusnya muncul penampakan seperti ini:
1366619299.501   6343 192.168.10.4 TCP_MISS/200 8198 GET http://market.b3er.org/blackmart/category/-2/0/downloads_desc/0 - DIRECT/5.9.111.111 application/json
1366619299.621   3716 192.168.10.4 TCP_MISS/200 1857 GET http://market.b3er.org/blackmart/info/com.outfit7.talkingtom - DIRECT/5.9.111.111 application/json
1366619309.423   8765 192.168.10.4 TCP_MISS/200 62983 GET http://market.b3er.org/blackmart/screenshot/com.outfit7.talkingtom.53.1.png - DIRECT/5.9.111.111 image/png
1366619310.506   9853 192.168.10.4 TCP_MISS/200 61264 GET http://market.b3er.org/blackmart/screenshot/com.outfit7.talkingtom.53.0.png - DIRECT/5.9.111.111 image/png
1366619311.026  19921 192.168.10.4 TCP_REFRESH_UNMODIFIED/200 6517 GET http://market.b3er.org/blackmart/icons/com.outfit7.talkingtom2free.21.png - DIRECT/5.9.111.111 image/png
1366619311.137      6 192.168.10.4 TCP_HIT/200 6517 GET http://market.b3er.org/blackmart/icons/com.outfit7.talkingtom2free.21.png - NONE/- image/png
1366619317.637  16519 192.168.10.4 TCP_REFRESH_UNMODIFIED/200 6517 GET http://market.b3er.org/blackmart/icons/com.outfit7.talkingtom2free.21.png - DIRECT/5.9.111.111 image/png
1366619344.545  61394 192.168.10.4 TCP_MISS/200 1435 GET http://market.b3er.org/blackmart/category/-2/0/downloads_desc/0 - DIRECT/5.9.111.111 application/json
1366619355.170   7332 192.168.10.4 TCP_MISS/206 76706 GET http://market.b3er.org/blackmart/downloads/com.outfit7.talkingtom.53.apk - DIRECT/5.9.111.111 text/plain
 

Tinggal copas aja link *.APK/*.GPK ke download manager kesukaan Anda, resume supported, multithread supported, dan yang paling penting handset Anda g kebakar :D

 

=-=-=-=-=
Powered by Blogilo

[DIY] NSFAT USB Cable Power

Saatnya berkreasi…. Beberapa penampakan dari NSFAT USB cable power bikinan sendiri. Langkah-langkah, rincian biaya, dan benchmark menyusul (kalo sempet ngupdate) :D at least, it works!

=-=-=-=-=
Powered by Blogilo

[Trik] Menghubungkan New SmartFren Andromax Tablet dengan Ad-hoc network

When?
In case you are using Linux (on a laptop) and you want to share its internet connection (and or just file sharing) but your wireless card does not have master/AP mode support (what a pity), so hostapd will not work.

Why?
Sebenarnya ide ini muncul karena di kota Pontianak belum dijangkau jaringan EVDO — yang dapat sinyal EVDO saja ‘katanya’ lemot, apalagi yang g dapat :=)) — Nah, karena kebetulan istri saya langganan internet dari provider sebelah (Thr**) yang notabene sudah support HSDPA (dan emang kenceng) akhirnya saya share saja ke NSFAT.

How?
Fitur yang sudah ada saat ini adalah wireless tether dari NSFAT, artinya NSFAT yang membuat jaringan Ad-hoc (bertindak seolah-olah master access point) kemudian perangkat-perangkat (nirkabel) lain terhubung ke NSFAT.

Dalam topologi seperti ini, NSFAT berfungsi sebagai router/gateway bagi klien yang terhubung dengannya, ini sangat berguna ketika ingin meng-share konseksi internet NSFAT dengan perangkat lain, atau ingin sekedar transfer data (tanpa kabel) dengan menggunakan aplikasi semacam Airdroid atau adbWireless.

Nah kalo kebalikannya? Maksudnya? Misal ingin meng-share koneksi LAN/Hi Speed Modem di Laptop dengan NSFAT gimana? Pastinya juga bisa pakai Ad-hoc. Secara garis besar ada dua langkah, yaitu konfigurasi PC/laptop dan konfigurasi Tablet Android (NSFAT)
1. Konfigurasi PC/Laptop:
Karena saya pakai Linux (Slackware-14.0), saya bagi lagi menjadi beberapa langkah:
- konfigurasi DHCP server
- konfigurasi wireless device untuk mengaktifkan Ad-hoc
- konfigurasi/aktivasi PC/Laptop sebagai router
2. Konfigurasi NSFAT
- konfigurasi wireless device agar mengenali jaringan Ad-hoc

Ok.. mari kita come on
1. Konfigurasi laptop
- Konfigurasi DHCP server, Pada dasarnya ini berguna untuk memberikan ip kepada device/perangkat yang terhubung (nantinya) melalui jaringan Ad-hoc. Di Linux terdapat beberapa macam pilihan DHCP server, saya biasa menggunakan dnsmasq, karena sudah ada di Slackware dan konfigurasinya tidak seribet dhcpd. Untuk DHCP server, saya hanya isikan 3 baris ini saja di file /etc/dnsmasq.conf :

domain=wibowo.uni.me
dhcp-range=192.168.10.10,192.168.10.150,12h
dhcp-option=3,192.168.10.1

Keterangan:
- domain adalah nama domain yang akan di append ke hostname dhcp klien nantinya, isikan sesuai keinginan alias suka-suka
- dhcp-range adalah range IP yang disediakan oleh DHCP server untuk klien
- dhcp-option=3,xxx.xxx.xxx.xxx , angka tiga berarti memberi tahu dnsmasq bahwa baris ini adalah konfigurasi  gateway untuk klien DHCP yaitu ip xxx.xxx.xxx.xxx, dalam contoh diatas berarti gateway dari klien DHCP diset ke 192.168.10.1 yang tidak lain adalah PC/Laptop yang sedang dikonfigurasi.
Setelah tersimpan tinggal jalankan daemon dnsmasq:

 # dnsmasq -p0

Note: dnsmasq juga bisa berfungsi untuk DNS server (caching), jika ingin menonaktifkan fitur DNS caching gunakan option -p0 biar tidak bentrok dengan tool DNS caching yang ada di sistem.

- Konfigurasi perangkat wireless untuk membuat jaringan ad-hoc, cara yang saya pakai adalah menggunakan net-tools (ifconfig) dan wireless-tools (iwconfig).. alias mode ketak-ketik, menurut saya lebih cepat, cuma tiga baris perintah. Sebenarnya di kebanyakan distro Linux (termasuk Slackware) sudah menyertakan tool seperti NetworkManager yang juga bisa dipakai untuk membuat jaringan Ad-hoc… mode klak klik klak klik — The coiche is yours..

# ifconfig wlan0 down

memastikan wireless radio mati, contoh diatas ifname (interface name) dari perangkat wireless adalah wlan0

# iwconfig wlan0 mode ad-hoc essid "SlackTether"

men-set wireless device wlan0 ke mode ad-hoc dan men-set essid nya SlackTether

# ifconfig wlan0 192.168.10.1 up

mengaktifkan kembali wireless sekaligus men-set IP nya 192.168.10.1

- Konfigurasi PC/Laptop sebagai router/gateway, Ini diperlukan kalau ingin meng-share koneksi internet, kalau cuma ingin menghubungkan NSFAT dengan Laptop, terus pindah/transfer data antara kedua device tidak perlu mengaktifkan fitur router ini. Di Linux kita bisa pakai iptables (dan mengaktifkan fitur router di kernel melalui procfs). Yang perlu diketahui adalah ifname perangkat yang terhubung ke internet dan ifname dari perangkat wireless. Misal ifname dari device yang terhubung ke internet adalah eth0 (Ethernet/LAN), dan ifname untuk perangkat wireless misal adalah wlan0, maka perintahnya seperti ini:

# iptables -t nat --flush
# iptables -t filter --flush
# iptables --flus

Ket: me-reset/flush  konfigurasi iptables yang sudah ada

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables --append FORWARD --in-interface wlan0 -j ACCEPT
# echo 1 > /proc/sys/net/ipv4/ip_forward

Ket: mengaktifkan fitur router di OS dengan me-nat semua paket data dari wireless device ke ethernet (kabel LAN)

2. Konfigurasi NSFAT / Android
Di NSFAT hanya perlu menyesuaikan isi file /data/misc/wifi/wpa_supplicant.conf menjadi seperti ini:

ctrl_interface=DIR=/data/misc/wifi/wpa_supplicant GROUP=1010
update_config=1
ap_scan=2

network={
    ssid="SlackTether"
    scan_ssid=1
    key_mgmt=NONE
    priority=1
    mode=1
}

Dan tentunya memperbaiki permission & owner file tersebut:

shell@android:/data/misc/wifi # chown system.wifi wpa_supplicant.conf
shell@android:/data/misc/wifi # chmod 644 wpa_supplicant.conf

Note:
Backup file wpa_supplicant.conf yang telah diedit tersebut karena file ini “sewaktu-waktu” akan ditimpa oleh wpa_supplicant. Jika ditimpa tinggal di copykan lagi saja, sehingga tidak perlu ketik ulang konfigurasi diatas.

Kalau setup sudah dilakukan semua, terakhir adalah uji coba. Saat uji coba saya biasanya “men-debug” dengan melihat log (/var/log/messages) dari Linux dan dari Android (logcat). Ini cuplikan log pada saat setup berhasil:

Android logcat:

....
D/Modem3g (  332): Interface1 wlan0 link up
D/Tethering(  332): interfaceLinkStateChanged wlan0, true
D/Tethering(  332): interfaceStatusChanged wlan0, true
D/wpa_supplicant( 1885): Associated to a new BSS: BSSID=92:b1:6d:37:56:4b
D/wpa_supplicant( 1885): Select network based on association information
D/wpa_supplicant( 1885): Network configuration found for the current AP
D/wpa_supplicant( 1885): WPA: clearing AP WPA IE
D/wpa_supplicant( 1885): WPA: clearing AP RSN IE
D/wpa_supplicant( 1885): WPA: clearing own WPA/RSN IE
D/wpa_supplicant( 1885): EAPOL: External notification - EAP success=0
D/wpa_supplicant( 1885): EAPOL: External notification - EAP fail=0
D/wpa_supplicant( 1885): EAPOL: External notification - portControl=ForceAuthorized
I/wpa_supplicant( 1885): associated with 92:b1:6d:37:56:4b
D/wpa_supplicant( 1885): WPA: Association event - clear replay counter
D/wpa_supplicant( 1885): WPA: Clear old PTK
D/wpa_supplicant( 1885): EAPOL: External notification - portEnabled=0
D/wpa_supplicant( 1885): EAPOL: External notification - portValid=0
D/wpa_supplicant( 1885): EAPOL: External notification - portEnabled=1
D/wpa_supplicant( 1885): EAPOL: SUPP_PAE entering state S_FORCE_AUTH
D/wpa_supplicant( 1885): EAPOL: SUPP_BE entering state IDLE
D/wpa_supplicant( 1885): Cancelling authentication timeout
D/wpa_supplicant( 1885): State: ASSOCIATED -> COMPLETED
I/wpa_supplicant( 1885): CTRL-EVENT-STATE-CHANGE id=0 state=9 BSSID=00:00:00:00:00:00
I/wpa_supplicant( 1885): CTRL-EVENT-CONNECTED - Connection to 92:b1:6d:37:56:4b completed (auth) [id=0 id_str=]
D/wpa_supplicant( 1885): wpa_driver_wext_set_operstate: operstate 0->1 (UP)
D/wpa_supplicant( 1885): WEXT: Operstate: linkmode=-1, operstate=6
D/wpa_supplicant( 1885): Cancelling scan request
D/wpa_supplicant( 1885): RTM_NEWLINK: operstate=1 ifi_flags=0x11003 ([UP][LOWER_UP])
D/wpa_supplicant( 1885): WEXT: Operstate: linkmode=-1, operstate=6
D/wpa_supplicant( 1885): RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
D/wpa_supplicant( 1885): RTM_NEWLINK: operstate=1 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
D/wpa_supplicant( 1885): RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
D/wpa_supplicant( 1885): CMD = SCAN_INTERVAL 15
D/WifiCommon(  332): [wlan0] evt = "<2>associated with 92:b1:6d:37:56:4b", result = 0, nread = 36
D/WifiCommon(  332): [wlan0] evt = "<2>CTRL-EVENT-STATE-CHANGE id=0 state=9 BSSID=00:00:00:00:00:00", result = 0, nread = 63
D/WifiCommon(  332): [wlan0] evt = "<2>CTRL-EVENT-CONNECTED - Connection to 92:b1:6d:37:56:4b completed (auth) [id=0 id_str=]", result = 0, nread = 89
D/Modem3g (  332): Interface1 wlan0 link up
D/Tethering(  332): interfaceLinkStateChanged wlan0, true
D/Tethering(  332): interfaceStatusChanged wlan0, true
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER BTCOEXSCAN-STOP'
D/wpa_supplicant( 1885): CMD = DRIVER BTCOEXSCAN-STOP
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd BTCOEXSCAN-STOP
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER RXFILTER-ADD 3'
D/wpa_supplicant( 1885): CMD = DRIVER RXFILTER-ADD 3
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd RXFILTER-ADD 3
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER RXFILTER-START'
D/wpa_supplicant( 1885): CMD = DRIVER RXFILTER-START
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd RXFILTER-START
D/wpa_supplicant( 1885): Unsupported command
D/WifiCommon(  332): [wlan0] cmd = 'DRIVER RXFILTER-START' ==> failed. (supplicant reply 'FAIL').
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER RXFILTER-STOP'
D/wpa_supplicant( 1885): CMD = DRIVER RXFILTER-STOP
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd RXFILTER-STOP
D/wpa_supplicant( 1885): Unsupported command
D/WifiCommon(  332): [wlan0] cmd = 'DRIVER RXFILTER-STOP' ==> failed. (supplicant reply 'FAIL').
D/WifiCommon(  332): [wlan0] Issue cmd = 'AP_SCAN 1'
D/wpa_supplicant( 1885): CMD = AP_SCAN 1
D/wpa_supplicant( 1885): ap_scan = 1
D/WifiCommon(  332): [wlan0] Issue cmd = 'RECONNECT'
D/wpa_supplicant( 1885): CMD = RECONNECT
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER SETSUSPENDOPT 0'
D/wpa_supplicant( 1885): CMD = DRIVER SETSUSPENDOPT 0
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd SETSUSPENDOPT 0
D/wpa_supplicant( 1885): Unsupported command
D/WifiCommon(  332): [wlan0] cmd = 'DRIVER SETSUSPENDOPT 0' ==> failed. (supplicant reply 'FAIL').
E/WifiStateMachine(  332): set suspend optimizations failed!
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER POWERMODE 0'
D/wpa_supplicant( 1885): CMD = DRIVER POWERMODE 0
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd POWERMODE 0
D/wpa_supplicant( 1885): Set Power Mode command = 0
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER SETSUSPENDOPT 0'
D/wpa_supplicant( 1885): CMD = DRIVER SETSUSPENDOPT 0
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd SETSUSPENDOPT 0
D/wpa_supplicant( 1885): Unsupported command
D/WifiCommon(  332): [wlan0] cmd = 'DRIVER SETSUSPENDOPT 0' ==> failed. (supplicant reply 'FAIL').
E/WifiStateMachine(  332): set suspend optimizations failed!
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER POWERMODE 0'
D/wpa_supplicant( 1885): CMD = DRIVER POWERMODE 0
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd POWERMODE 0
D/wpa_supplicant( 1885): Set Power Mode command = 0
D/WifiCommon(  332): [wlan0] Issue cmd = 'STATUS'
D/wpa_supplicant( 1885): CMD = STATUS
D/DhcpStateMachine(  332): StoppedState
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER COUNTRY ID'
D/DhcpStateMachine(  332): StoppedState{ what=196609 when=0 }
D/wpa_supplicant( 1885): CMD = DRIVER COUNTRY ID
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd COUNTRY ID
D/wpa_supplicant( 1885): Unsupported command
D/WifiCommon(  332): [wlan0] cmd = 'DRIVER COUNTRY ID' ==> failed. (supplicant reply 'FAIL').
E/WifiStateMachine(  332): Failed to set country code id
D/DhcpStateMachine(  332): WaitBeforeStartState
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER SETBAND 0'
D/wpa_supplicant( 1885): CMD = DRIVER SETBAND 0
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd SETBAND 0
I/wpa_supplicant( 1885): ioctl[SIOCIWFIRSTPRIV]
D/WifiCommon(  332): [wlan0] cmd = 'DRIVER SETBAND 0' ==> failed. (supplicant reply 'FAIL').
E/WifiStateMachine(  332): Failed to set frequency band 0
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER BTCOEXMODE 1'
D/wpa_supplicant( 1885): CMD = DRIVER BTCOEXMODE 1
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd BTCOEXMODE 1
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER GETPOWER'
D/wpa_supplicant( 1885): CMD = DRIVER GETPOWER
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd GETPOWER
D/wpa_supplicant( 1885): Get Power Mode command = 0
D/wpa_supplicant( 1885): powermode = 0
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER POWERMODE 1'
D/wpa_supplicant( 1885): CMD = DRIVER POWERMODE 1
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd POWERMODE 1
D/wpa_supplicant( 1885): Set Power Mode command = 1
D/DhcpStateMachine(  332): WaitBeforeStartState{ what=196614 when=0 }
D/DhcpStateMachine(  332): DHCP request on wlan0
I//system/bin/dhcpcd( 1889): dhcpcd[1890]: version 5.2.10 starting
I//system/bin/dhcpcd( 1889): dhcpcd[1890]: host does not support a monotonic clock - timing can skew
I//system/bin/dhcpcd( 1889): dhcpcd[1890]: wlan0: rebinding lease of 192.168.10.4
I//system/bin/dhcpcd( 1889): dhcpcd[1890]: wlan0: acknowledged 192.168.10.4 from 192.168.10.1
I//system/bin/dhcpcd( 1889): dhcpcd[1890]: wlan0: leased 192.168.10.4 for 43200 seconds
D/wpa_supplicant( 1885): EAPOL: disable timer tick
D/DhcpStateMachine(  332): DHCP succeeded on wlan0
D/DhcpStateMachine(  332): DHCP_RENEW is temporary ignore by rubbitxiao!!!
D/DhcpStateMachine(  332): RunningState
D/WifiCommon(  332): [wlan0] Issue cmd = 'DRIVER POWERMODE 0'
D/wpa_supplicant( 1885): CMD = DRIVER POWERMODE 0
D/wpa_supplicant( 1885): wpa_driver_wext_driver_cmd POWERMODE 0
D/wpa_supplicant( 1885): Set Power Mode command = 0
....

Linux’s /var/log/messages

...
Mar 25 17:13:41 pcxthinkslack kernel: [105703.920025] wlan0: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Mar 25 17:14:11 pcxthinkslack kernel: [105734.221418] wlan0: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Mar 25 17:14:42 pcxthinkslack kernel: [105764.510633] wlan0: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Mar 25 17:15:01 pcxthinkslack kernel: [105783.420250] usb 2-1.2: USB disconnect, device number 38
Mar 25 17:15:41 pcxthinkslack kernel: [105823.774633] wlan0: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Mar 25 17:16:11 pcxthinkslack kernel: [105853.977737] wlan0: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Mar 25 17:16:42 pcxthinkslack kernel: [105884.266854] wlan0: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Mar 25 17:16:42 pcxthinkslack kernel: [105885.195727] usb 2-1.2: new high-speed USB device number 39 using ehci_hcd
Mar 25 17:16:43 pcxthinkslack kernel: [105885.280770] usb 2-1.2: New USB device found, idVendor=18d1, idProduct=4e11
Mar 25 17:16:43 pcxthinkslack kernel: [105885.280782] usb 2-1.2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
Mar 25 17:16:43 pcxthinkslack kernel: [105885.280789] usb 2-1.2: Product: Android
Mar 25 17:16:43 pcxthinkslack kernel: [105885.280795] usb 2-1.2: Manufacturer: Android
Mar 25 17:16:43 pcxthinkslack kernel: [105885.280800] usb 2-1.2: SerialNumber: 0123456789ABCDEF
Mar 25 17:16:43 pcxthinkslack mtp-probe: checking bus 2, device 39: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2"
Mar 25 17:16:43 pcxthinkslack mtp-probe: bus: 2, device: 39 was not an MTP device
Mar 25 17:17:41 pcxthinkslack kernel: [105943.837807] wlan0: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
Mar 25 17:18:03 pcxthinkslack dnsmasq-dhcp[28104]: DHCPREQUEST(wlan0) 192.168.10.4 b0:ee:45:8b:fa:cd
Mar 25 17:18:03 pcxthinkslack dnsmasq-dhcp[28104]: DHCPACK(wlan0) 192.168.10.4 b0:ee:45:8b:fa:cd android-6db4aa2ac2ed4040
...

Screenshot:

nsfat ad-hoc 1

nsfat ad-hoc 2

nsfat adhoc result

Known problems:

  • Ad-hoc network yang sudah dibuat terdeteksi “Not in range”. Solusinya dengan mencoba mengaktifkan ulang Wi-Fi di NSFAT (Toggle On-Off) sampai kedetek/connecting lagi. Kalo udah nyoba puluhan kali belum juga connect, diselesaikan secara kekeluargaan saja – reboot NSFAT.
  • Wi-Fi toggle ON/OF hang, ini bisa di cek di logcat (cuplikan logcat menyusul). Ini gara-gara wpa_supplicant fail untuk me-non/aktifkan wifi, solusinya juga sama – reboot NSFAT.
  • It’s currently known working only on NSFAT Stock ROM (ICS 4.0.3 build 50.8) or at least any ICS ROM.

 

Switch to our mobile site