Wednesday, December 24, 2014

汽車音響破解 - 冒充六片式 CD 換片夾

舊式的汽車CD音響無法外接音源怎麼辦?
剛好我的是 Sony CD 音響,Google 一陣子之後,我發現 Sony CD 音響當初有配套措施可以外接CD換片夾或是外接音源 XDA-1000 , 不過都太貴,然後我發現一個專有名詞 Sony Unlink 線。
其實我有發現汽車音響背後有 Bus Audio In 的雙 AV 端子接頭,但是我插上 AV 端子轉耳機街頭,機上手機後卻無法播放手機的音樂,所以我推測這台 CD 音響需要某些控制訊息來告知。
 
所以我去買了 Sony Unlink 線,基本上就是欺騙 Sony CD 音響有接上CD換片夾,然後再透過 AV 端子轉耳機接頭,就可以從手機播放音樂了。
 
如果你的是其他廠牌的汽車音響,我想也有類似的破解線存在,等著你去找到它買回來用。
 

 

 
-Skyter


Sunday, January 26, 2014

Fedora 20 安裝筆記


Virtual Box

   Downloading the newest Virtual Box from offcial site, ex.VirtualBox-4.3-4.3.4_91027_fedora18-1.i686.rpm
    Run "rpm -ihv libpng15" before install

    Install kernel headers by the following
    Googling kernel-PAE-devel-3.11.6-301.fc20.i686.rpm (or run "uname -r" of the kernel to get version)

    Install "Software Development Group" packasges from Software center
    sudo yum groupinstall 'Development Tools

    rpm -ihv VirtualBox-4.3-4.3.4_91027_fedora18-1.i686.rpm
    I've meet Makefile:183: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again.  Stop    This is because lacks of kernel headers , you can run "ls -al /usr/src/kernels" to make sure kernel header location , then run
     "sudo KERN_DIR=/usr/src/kernels/3.11.6-301.fc20.i686+PAE/ /etc/init.d/vboxdrv setup"


    下載最新的 Virtual Box , 例如 VirtualBox-4.3-4.3.4_91027_fedora18-1.i686.rpm
    安裝前要先 rpm -ihv libpng15

    安裝 kernel headers
    網路上尋找 kernel-PAE-devel-3.11.6-301.fc20.i686.rpm (或是uname -r 對應的kernel 版本)

    安裝 Software Development Group 套件
    sudo yum groupinstall 'Development Tools

    rpm -ihv VirtualBox-4.3-4.3.4_91027_fedora18-1.i686.rpm
    我有遇過 Makefile:183: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again.  Stop
     這是缺少 kernel headers , 可以透過觀察 ls -al /usr/src/kernels 來確認 kernel header 的位置 , 確認後可以透過
     sudo KERN_DIR=/usr/src/kernels/3.11.6-301.fc20.i686+PAE/ /etc/init.d/vboxdrv setup


VMware Player
    After downloading vmware player, you need
         sudo yum groupinstall 'Development Tools

VLC

    關閉防火牆, 暴力法
    iptables -F
    iptables -F -t mangle
    VLC
    sudo rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
    sudo yum install vlc
    sudo yum install mozilla-vlc
    播放超過 2048x1536 Rtsp Stream MJPEG 會出現 XVideo 的警告訊息是正常的


Wireshark

    sudo yum install wireshark wireshark-gnome
    Wireshark 會擷取系統網路卡封包, 所以會使用到 root 才有的權力. 解決方式是透過
    sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/sbin/dumpcap
    以及把 加進 wireshark group, 因為 Fedora 19 的帳號設定被簡化了, 所以要另外安裝套件來設定使用者
    yum install system-config-users ,執行後選擇對應帳號的<屬性> -> <群組>,勾選 wireshark.

    
    記得系統一定要重開機再執行 wireshark -> capture interfaces 才會列出可選擇的網路卡, 因為不曉得如何登出 Fedora , 所以只能重開機.

Minicom

    請參考 Ubuntu 那篇


Synergy

    要在防火牆內打開 24800 port, 不過既然我已經 iptables -F and iptables -F -t mangle (Flush all rules) , 那就別管了.

HC-05 藍牙 COM 配對
    光是用控制台裡面的藍牙配對, 他並不會幫你新增 COM Port , 我在這邊是參考 Ubuntu 新增 HC-06 的文章
    先新增 bluez.i686 : Bluetooth utilities 套件,才會有 /etc/bluetooth/rfcomm.conf 可以修改
    sudo yum install -y bluez
    以及這篇
    sudo yum install -y gpsd gpsd-clients
    之後可以先在控制台新增 HC-05 以便觀察紀錄 MAC 位址,或者是
    hcitool scan
    有機會看到
    vim /etc/bluetooth/rfcomm.conf 新增下列
rfcomm0 {
# Automatically bind the device at startup
bind yes;

# Bluetooth address of the device
device 00:00:09:11:02:55;

# RFCOMM channel for the connection
channel 1;

# Description of the connection
comment “HC-05 Com Port”;
}
    重開機無效,所以手動新增
    rfcomm  bind rfcomm0 00:00:09:11:02:55
    然後用 minicom -D /dev/rfcomm0 -b9600  -c on -m 開啟
     另一邊用 sudo minicom -D /dev/ttyUSB0 -b9600 -c on -m 開啟

 

遠端 VNC 遙控

You need to install vino to enable Desktop Sharing.
yum install vino
Desktop Sharing can be configured by running Desktop Sharing Preferences or start vino-preferences as a normal user.
By default vino will run on port 5900. Don't forget to allow vnc-server in the firewall configuration.
Update for Fedora 20: screen sharing can be enabled at System Settings > Sharing.
The port can be changed by running dconf-editor as a normal user, browse to org > gnome > desktop > remote access. Here you can enter an alternative port at alternative-port and check use-alternative-port.
Again don't forget to allow the ports in the firewall configuration. I find it the easiest to edit vnc-server service and add the appropriate ports.


3D Printing

yum install
RepetierHost
slic3r
cura
inkscape
openscad
meshlab
blender

rpm -ihv 
netfabb



Arduino

yum install arduino

YouTube

You have to google:youtube html5 in your firefox browser, and setup to use HTML5 instead, otherwise the full screen mode doesn't work (Due to crapped flash plugin).

 

NVidia Display Card

My card is NVS 295, from the supported list the driver 331 should support this card, but after tested, I found only 304 driver supproted.
I also reference this article to install nvidia driver
So I use the following command to install driver (it's tricky to pick the right kmod correponding to kernel version).

  #yum install kmod-nvidia-304xx-3.12.10-300.fc20.i686+PAE xorg-x11-drv-nvidia-304xx-libs

The articale mentions grub2 gfx mode and plymouth theme, these were not needed to be installed.

Blender

Why I change to use NVidia driver instead of original nouveau is because:
Blender for Fedora under nouveau, the face selection is wrong, blender will pick random wrong face, the ticket ID is here, object selection wrong face


VNC

Disable require-encryption key, otherwise iPad app Jump Desktop can't connect with.
gsettings list-recursively|grep -i Vino
gsettings set org.gnome.Vino require-encryption false
It's obviously Jump Desktop can't support security type = 18 (TLS), so after manually disable require-encryption, Jump will use security type 1 to connect(I guess plaion text).


winetricks


#wget http://winetricks.org/winetricks
#chmod 755 winetricks
#mv winetricks /usr/bin/
#sudo vim /usr/share/zenity/zenity.ui
Goto line 1021
Adding the '+' line
in
+ True
 
From the bug commit page, the zenity ui settings is needed to be patched, otherwise the winetricks vertical rows were not expanded. 
https://git.gnome.org/browse/zenity/commit/?id=80bc8ce643979fec201c4ebd5cd6405b6310357f


Thursday, November 14, 2013

Non blocking connect

同事問我為何用 select () 去等 non blocking connect () 卻會馬上 return 但卻顯示 EINPROGRESS。

找了一陣子文章,似乎都指向一個答案,必須要使用 epoll 。

下面是相關的程式碼範例

另外相關的文章也有討論到這個問題。
link1
link2
link3
link4
link5



Tuesday, November 12, 2013

Ubuntu 從 Windows 出發的安裝過程

終端機

    MenuBar->檔案->設定組合偏好設定
    取消 使用系統固定字型
    Liberation 10 字型
    我比較習慣這樣的字型

    可以在視窗中直接 Ctrl + Alt + T 叫出來,這比較適合在 X Window 嚴重損毀時,Unity Launcher 通通無法執行時。

    複製 : Ctrl + Ins
    貼上 : Shift + Ins

GCIN 中文輸入法控制台

    原本的 iBus 輸入法只有 拼音 跟 Bopomo 感覺很難使用
    所以我手動安裝 gcin
        sudo apt-get install gcin
    然後從 Launcher (左側列) → 系統設定值 → 語言支援
        鍵盤輸入法系統 gcin
    然後可能需要重開機才會生效

Dropbox

    ClassicMenuIndicator 可以從 Ubuntu 軟體中心 (在 Launcher上) 去安裝

ClassicMenu Indicator

    這是類似以往 Gnome 的開始程式集選單, 似乎較新的 Ubuntu 12, 13 都拿掉了這個功能, 改而使用 Unity Launcher (左側工具列) 最上面那個 [搜尋您的電腦和網上資源] 來尋找你要的程式, 這樣的缺點是你根本不知道系統上有什麼程式可以用.
ClassicMenuIndicator 可以從 Ubuntu 軟體中心 (在 Launcher上) 去安裝



檔案

    改成慣用的清單檢視顯示方式
    檔案->MenuBar->偏好設定->清單檢視,以修改日期

Skype

    從英文官網下載 skype-ubuntu-precise_4.2.0.11-1_i386.deb
    下載後在瀏覽器選擇以 Ubuntu軟體中心 來安裝. 裝完就可以使用了.

Line

    因為沒有Linux版本的wine,所以要安裝 Windows 版本的才可以,以 wine (Wine Windows Program Loader) 去執行 LineInst.exe。
    如果是從 Ubuntu 軟體中心(Unity Launcher) 去安裝 Wine 1.4, 會需要再安裝後手動升級 1.5/1.6. 否則安裝LineInst.exe 會出現錯誤訊息.
        sudo add-apt-repository ppa:ubuntu-wine/ppa
        sudo apt-get update
        sudo apt-get install wine1.5
    Line 的中文輸入一定要搭配 gcin , Ubuntu 預設的 iBus 無法輸入, 你會無法選字.

Google Chrome

    不用浪費時間去 Google 網站下載安裝 Google Chrome, 我的經驗都是失敗 …
    按照網路上的說法, Google Chrome 其實是來自 Ubuntu 的 Chromium 瀏覽器, 而這可以從 Ubuntu 軟體中心去安裝

wintricks

    如果沒有出現在 ClassicMenu Indicator 裏面的 Wine 程式集的話, 就從 console 執行
    winetricks --gui   
    選擇 Select the default wineprefix (好像會需要首次一些對話框, 應該確定就可以)
    ->Install a Windows DLL or component
    riched20 (因為 Office 會用到), vcrunxxx 全選
    他會去下載安裝一些以後我們會用到的東西

小畫家

    Ubuntu 上類似小畫家的軟體是 Pinta, 可以從軟體中心去安裝

Vmware Player

    如果你的工作需要用到 Windows , 那就會需要 Vmware Player
    從這邊下載 Linux 32Bit
        chmod 755 VMware-Player-6.0.1-1379776.i386.bundle
        sudo ./Vmware-Player-6.0.1-1379776.i386.bundle

Microsoft Office

    以 Wine 來安裝, 要注意一定要在 winetricks 裏面安裝 riched20 , 否則 PowerPoint 會無法執行起來.
        mkdir xx
        sudo mount -o look Office_Enterprise_2007_32bit_ChnTrad.ISO xx
        cd xx; wine setup.exe
    安裝完後, 就可以從桌面 或是 ClssicMenu Indicator 去選擇執行了.


OutLook 2007

    之前有使用過 Evolution ,但是感覺不是很好用,所以還是希望回到原來的 Outlook2007.






Inkscape

          向量圖形編輯器, 以前安裝 Windows 版本,現在可以安裝 Linux 版本了了,從 Ubuntu 軟體中心安裝.

OpenSCAD

          玩 3D 列印的人會用到的模型設計軟體。Ubuntu 軟體中心.

Putty

         Ubuntu 軟體中心,安裝好後,ttyS0 必須要用 root
                  sudo putty
         右鍵選單 -> Ctrl + 滑鼠右鍵 才會出現.

Wireshark

         Ubuntu 軟體中心,安裝好後,必須要用 root
                  sudo wireshark

TeamViewer

         http://www.teamviewer.com/zhtw/download/linux.aspx
    中文的部份似乎有問題,另外安裝完後似乎無法登入,可能要重開機。

Synergy

        目前測得與 VMware 會互相衝突,懶得去找問題再那。

SketchUp

        PlayOnLinux 與 Wine 都無法正常的安裝好 SketchUp, 前者是執行時無法選擇 Template ,後者是執行時抱怨缺少 OPENGL 。所以幕前只能在 VMware Player 裏面執行。

Netfabb

MeshLab

EAGLE

Any Video Converter

Play on Linux

參考這篇文章,這是一套讓 Windows 程式可以在 Wine 上跑的腳本整合軟體
   Ubuntu 軟體中心
         可以安裝 Internet Explorer 8, 甚至跑 ActiveX


RPM 與 Ubuntu apt-get/dpkg 指令對照表

Minicom

       sudo minicom  /dev/ttyS0 -c on -m
       原本打算使用 Putty , 卻因為 Copy Paste 搞不定 ,各種左鍵拉選,中鍵貼上,Shift+Ins 貼上其他程式的複製,卻無法複製出去,感覺困難重重。索性把 Minicom  灌起來用。
       Minicom 所使用的特殊按鍵 Ctrl + A 因為 Screen 會用到,所以我用 -m 的方式替換掉 Ctrl + A 特殊鍵為 Esc + Z ,另外如果要送出 Serial Break 的話,Putty 是用 Ctrl + PrintScreen,Minicom 則是 ESC , Z , F 就可以送出。
       -c on 是打開 ANSI 彩色功能。

SSH-server

       sudo apt-get install openssh-server

關閉螢幕自動鎖定

       我不確定是 NVIDIA 顯示卡驅動程式問題還是何者,似乎螢幕因為自動省電關閉後,要喚醒時有機會讓系統整個 HANG 住 (鍵盤都不會有反應) ,所以建議把
        系統設定值 ->亮度與鎖定 當不活動多就後把螢幕關閉 改成 [ 永不 ].

顯示卡驅動程式

又再發生一次螢幕 hang 住的事件,這次我更換顯示卡驅動程式
系統設定值 -> 軟體和更新 -> 額外驅動程式
從 [使用 X.Org X server ...] 更換到 [使用 NVIDIA binary Xorg driver .... 319-updates (專有)]
希望可以解決問題。



Tuesday, February 8, 2011

來自Skyter的 Google 網頁註解訊息

哈 ~ Sexduino ~
no one has done this yet, but we predict it is only a matter of time.

參考來源:

"no one has done this yet, but we predict it is only a matter of time."
- Freeduino and Boarduino and more.... - Arduino.TW樂園 (在「Google 網頁註解」中檢視)

Wednesday, November 3, 2010

ffmpeg for arm 編譯成功

所以最後我使用了./configure --enable-cross-compile --cc=arm-linux-gcc --arch=arm --target-os=linux --enable-shared --enable-gpl --disable-stripping --disable-mpegaudio-hp --enable-pthreads --enable-small --disable-parsers --disable-optimizations --disable-yasm --disable-armv6 --disable-armv5te --disable-static --disable-armvfp --disable-amd3dnow
這樣的參數來編譯 ffmepg for arm, 並且在 arm 上面執行成功.
接下來就是測試與簡化了.

參考來源: http://blog.xuite.net/jack6739/blog/37033025 (在「Google 網頁註解」中檢視)

Monday, May 17, 2010

貼入中... Cancel

 

Valgrind - 北歐神話中英靈殿的入口
功能:
Memcheck : 檢查 memory leak, malloc(), new, free(), delete 都可以被檢查. 可以偵測未被初始化的記憶體, 讀取寫入已經釋放的記憶體, 或是超過範圍的記憶體, 記憶體洩漏, 不成對的 malloc <-> free, new <-> delete, 以及 memcpy 覆寫.
Cachegrind : cache 模擬分析器, 模擬 CPU I1 D1 L2 快取記憶體
Callgrind : 類似 Cachegrind ,但是進一步整合了模擬並分析呼叫者, 被呼叫者之間的關係
Massif : heap 分析器, 可以測量統計 heap 的使用情形,stack 的大小。可以幫你降低記憶體耗盡的機會,減少 swap 來加快速度
Helgrind : 偵測 POSIX threads 之間的同步錯誤。包括不正確的使用 POSIX API. 偵測潛在的 deadlock, 搶用資料, 因為沒有 lock 而造成程序間競爭讀寫同一份資料。
Lackey : 統計指令週期,記憶體使用,以及整數,浮點數的計算。

支援:
x86, ppc. 至於 arm 則為中等程度支援 (medium)
http://www.network-theory.co.uk/valgrind/manual/valgrind-sample.pdf編輯
Valgrind: Supported PlatformsOfficial Home Page for valgrind, a suite of tools for debugging and profiling. Automatically detect memory management and threading bugs, and perform detailed profiling. The current stable version is...