2016/10/26

banana pi -- jessie

很可惜的板子。
以前的 banana pi 只要 800,那時候一堆人用得很愉快。
後來,不知怎麼,所有的賣家都改成賣 1200 以上。
可惜,雖然只差 400
但是,1200 等級得的板子,大多效能,功能都比 banana pi 好很多。
-- raspberry pi 3. orange pi, ... etc

所以,他就失去了優勢,漸漸的沒落下去。
現在好像沒人用了。


用的是 banaian, 下載最新版就是 jessie 了。
燒錄一樣,解開 zip 後直接 dd

uart console TX.RX.GND 在版上gpio 旁邊有印
開機,在 ipv6 那版會卡一下,就跳出 login prompt
username: root
password: pi
開機完會有提示要你 run banaian-config
回答問題,把 root partition 加大。
timezone 選 Taipei
重開機,OK

看一下 sources.list, 竟然是標準的 debian.org
加入 proxy:
/etc/apt/apt.conf:

Acquire::http::Proxy "http://192.168.100.132:3128"
然後就可以 apt-get update 了..
出現 kernel 需要更新: linux-image-3.4-banaian


設定 ntp ... ref: ntpdate

run banania-update
這會用到 curl ,用 script run 不會 reference 環境變數,
所以只好修改 banania-update 這個 script, 在 curl 的命令中加入 -x option
ref: http://www.cyberciti.biz/faq/linux-unix-curl-command-with-proxy-username-password-http-options/
之後就可以 run 了...


repository 要放在 usb disk 上,所以要 mount usb disk 到 /home/git/ 下。
owner 要是 git
所以 format 完 usb disk 後,要先 mount 近來,然後去,,
 sudo chown git:git .
這樣 mount point 就會是 git:git 了。
ref:http://r40eubuntu.blogspot.tw/2014/11/mount-partition-and-owner.html


wifi

ref: http://r40eubuntu.blogspot.tw/2015/05/wifi-on-banana-pi-tp-link-tl-wn725n.html
插上,改一下 /etc/network/interfaces 就可以了。

routing table 會依照 network interface 啟動的順序決定 default gw 和 dns (resolv.conf)
要用 wlan 做 default gw 和 dns
所以..
先插著 wlan 開機,OK後,再插上 eth0
很奇怪,有時候 eth0 dhcp 部會正常動作,所以要手動 ifdown, ifup 一次。
之後, resolve.conf 會被改掉 (eth0)
所以要改回來...
nameserver 172.20.10.1

ap mode:

使用 hostapd 跟 dnsmasq 了。
/etc/hostapd/hostapd.conf
設定 SSID, password, wlan interface

/etc/dnsmasq.conf
設定 dnsmasq 的 ip range

然後就是 iptable
和 interfaces 要把 wlan1 設 static ip.

2016/10/7

FIQ_DEBUGGER console

arm kernel 有一個 option 是 CONFIG_FIQ_DEBUGGER_CONSOLE
如果開啟的話,就會讓 kernel 內部的 debug console 功能起動。
再開啟一個 CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE 的話,就會用 debug UART 作為 kernel fiq debugger 的界面。

所以 kernel console 一邊作為 shell console 用,另一方面,也被作為 kernel debugger console用。

要讓 kernel debugger console 啟動,送出 Break 鍵。
用 Putty 的話,就是設定為 VT100+ 模式。
然後輸入 Ctrl-Break 就可以。,
console 會顯示:
#fiq debugger mode
debug >
這樣就進入 kernel debugger mode 了,

輸入 help 可以看 支援的 command
要回到 console mode 就輸入 console 就可以。

在 kernel debug mode 時,系統一樣正常運作。

minicom 要輸入 brk 的話,是 'Ctrl-A F'
tera term 的話,在 control 有一個 send break