2018年12月8日 星期六

Ubuntu 16.04 解 LCD 上的水平紋

一直以為是電腦不夠力, 或電視太爛

最近忽然想到來 google 一下, 才發現這是可以解決的

https://askubuntu.com/questions/945895/solution-to-intel-graphics-screen-tearing-flickering-causes-excessive-fan-use

加個 file : /usr/share/X11/xorg.conf.d/20-intel_flicker_fix.conf

內容:
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "TripleBuffer" "true"
   Option      "TearFree"     "true"
   Option      "DRI"          "false"
EndSection

就這樣~~

不過有趣的是, 加了重開機後, xrandr 顯示 screen name 變了, 變回和 Ubuntu 10.04 一樣 : HDMI1 而不是 HDMI-1

2019/03/23 update:
 DRI 要設為 "true"
 換了大電視, 之前沒看出的較小細紋現在看得一清二楚, 設成 ture 之後就解決了~~

2018年1月19日 星期五

Ubuntu 16.04 as wifi hotspot

忘了在哪裏看來的, 但最終這是唯一確定可用的設定, PC 和 RPI 3 皆可用

ubuntu 現在不用 eth0 wlan0 了, 而是用一串很詭異的名字, 要先用 ifconfig 看一下再去改

1.
/etc/dhcpcd.conf
  add denyinterfaces wlan0 (above any interface line)

2.
/etc/network/interfaces
  edit wlan0 setion as
   -------------------
allow-hotplug wlan0
iface wlan0 inet static
    address 172.24.1.1
    netmask 255.255.255.0
    network 172.24.1.0
    broadcast 172.24.1.255
   -------------------

3.
install/config hostapd
/etc/hostapd/hostapd.conf
-------------------------
#this is the name of the WiFi interface we configured above
interface=wlan0

# Use the nl80211 driver with the brcmfmac driver
driver=nl80211

# This is the name of the network
ssid=Pi3-AP

# Use the 2.4GHz band
hw_mode=g

# Use channel 6
channel=6

# Enable 802.11n
ieee80211n=1

# Enable WMM
wmm_enabled=1

# Enable 40MHz channels with 20ns guard interval
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]

# Accept all MAC addresses
macaddr_acl=0

# Use WPA authentication
auth_algs=1

# Require clients to know the network name
ignore_broadcast_ssid=0

# Use WPA2
wpa=2

# Use a pre-shared key
wpa_key_mgmt=WPA-PSK

# The network passphrase
wpa_passphrase=raspberry

# Use AES, instead of TKIP
rsn_pairwise=CCMP
-------------------------
/etc/default/hostapd
  DAEMON_CONF="/etc/hostapd/hostapd.conf"

4.
install/config dnsmasq.conf
/etc/dnsmasq.conf  ( orig : /etc/dnsmasq.conf.orig)
-------------------------
interface=wlan0      # Use interface wlan0
listen-address=172.24.1.1 # Explicitly specify the address to listen on
bind-interfaces      # Bind to the interface to make sure we aren't sending things elsewhere
server=8.8.8.8       # Forward DNS requests to Google DNS
domain-needed        # Don't forward short names
bogus-priv           # Never forward addresses in the non-routed address spaces.
dhcp-range=172.24.1.50,172.24.1.150,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time
-------------------------

5. IPV4 forwarding
/etc/sysctl.conf
  net.ipv4.ip_forward=1 (# mark/unmark)
command line :
-------------------------
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
------------------------
/etc/rc.local
  iptables-restore < /etc/iptables.ipv4.nat

6.
sudo service hostapd start
sudo service dnsmasq start

2017年12月22日 星期五

android 手機/平板 當作 Ubuntu 的第二(延伸)螢幕

並不是要操控整個畫面, 而是要當作第二個螢幕用

找了好久, 最後在這裏找到, 我要的答案並沒有被選上, 目前它是第七個答案
https://askubuntu.com/questions/28608/how-do-you-use-an-android-tablet-as-a-second-display

其實它主要就是用 x11vnc -clip 分享螢幕的一部份給 vnc client.

x11vnc -clip 480x854+1440+0

480x854 是我手機的大小
+1440 是 x 軸起點 ( LCD 螢幕 1920x1080, 1920-480=1440)
+0  是 y 軸起點

所以, 上面的 command 就是將我的整個螢幕的右上角一小塊分給手機用. 我只要將想在手機上顯示出來的程式(如秀圖程式), 縮到 480x854 , 然後放在右上角, 手機用 vncviewer 連上我的PC (port 5900) 時, 手機上就可以看圖了. (但由 PC 操控, 這就是我要的控制方式)

或著也可以像連結裏, 用 xrandr 設定一延伸螢幕, 然後將程式放到延伸螢幕裏

這可以做什麼用? 主要是想買個 android 的電子閱讀器, 裝 vncviewer 之後
1. 用 eom 看漫畫 (或其它秀圖程式)
2. 用 gedit/vi 打文字檔. (有在寫一些東西, 這是想方設法要 e-ink 當第二螢幕的主因)

耶! 有好藉口敗家了

2017年7月3日 星期一

數位電視的 channels.conf (2017年版)

Linux 上實際做法可以參考這篇 : https://blog.gtwang.org/iot/raspberry-pi-dvb-usb-tv-stick/

但2017的現在, 我發現 scan  只能掃到 5690000 那個頻道 (公視3, 客家, 原民), 看了一下 tw-all 那個檔案, 裏面只有 569000 用 QAM_64, 其它用 QAM_16, 鑑於公視HD是最早的HD台, 我猜, 這 tw-all 太舊了, 把所有的頻率都改成 QAM_64 就都抓到了

....連帶, 我正在寫的 EPG 程式也自動 OK 了, 原來都是這個 QAM 惹的視


 channels.conf : (有+號的是雙語, 好像有些軟體不接受+號 )
中視:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1002+1003:100
中視新聞台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1011:1012:101
中視經典台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1021:1022:102
BRAVO經典台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1031:1032:103
公視:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2011:2012+2013:201
公視2台:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2021:2022+2023:202
民視:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3001:3002+3003:300
交通電視台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3011:3012:301
民視新聞台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3021:3022:302
民視台灣台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3041:3042:304
台視:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4001:4002+4003:400
台視新聞台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4011:4012:401
台視財經台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4021:4022:402
台視綜合台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4031:4032:403
華視:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5011:5012+5013:501
教育文化台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5021:5022:502
華視新聞台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5031:5032:503
國會頻道:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5041:5042:504

2017年6月24日 星期六

Ubuntu 16.04 64bit install

已經安裝過 32bit 的, 本來以為很快才對, 不過還是有些問題

1. Static IP
     社區網路的天兵工程師當初因為不會設定 Ubuntu, 乾脆直接鎖 Mac address, 好在當時我立刻抗議, 他給了我另一個 IP -> 其實我只付一個 IP 的錢, 結果我有了兩個 IP 可用
    但現在換主機板, 也就是換了網卡, 所以其中那個鎖 Mac address 不能用了, 得用目前 RPI3 佔用的那個 IP
   But, 平平是 Ubuntu Mate, 怎麼 IP 設定的方法和 RPI3 不同呢? 頭痛~~
   最後居然是最簡單的 UI 版 Networkmanager 就可以了

   2017/07/04 補記 : 發現原來 Mac address 可以改的 !
  /etc/network/interfaces:
    auto enp0xxx
     iface enp0xxx inet dhcp
         hwaddress ether  xx:xx:xx:xx

2.  HiChannel -> 想了好一會想才起來 : 要裝 flash-plugin

3. gcin 因為光碟安裝時沒有網路, 所以語言包沒裝好, 裝了 gcin 之後一直無法中文輸入, 後來是去地區/語言選項時, 才發現裝了語言包之後, 一切就好了

4. dconf-editor
     不喜歡的行為要改掉 : 1. automount-open 2.  side-by-side tiling(?)

5. chrome (for Line app)要求的keyring 要設空白, 不然每次都要輸入 (夠白痴的)

6. 啟動應用程式移除 blueman-serive, 不然明明沒有藍芽, 還要show個 icon

7. 用 QT5 寫的 vbook 不能用了, 得重 compile
     -> 安裝 QT5.5,  qmake, make

8. pcmanx 要裝 ttf-mscorefonts 才有慣用字型

9. 電視遙控器不能用!  python decode 的程式改了半天才能用, 但接收力比舊機器弱很多 -> 為什麼呢 ?

10. 新發現一個 command : acpi_listen 可以監測耳麥插拔, 因為本來懷疑原價屋小哥接錯了~~

11. crontab 裏 mplayer 需要 > /dev/null 2>&1

12. virtualbox 裏裝 additional 才有 sharefolder 可用
      apt install virtualbox-guest-utils
      加 user 進 vboxfs group (/etc/group)

   

買新電腦啦

全都是為了 Android Studio! 2.3.3 在 32bit 上可以 install, 可以執行, 但有一堆奇怪的 error message

而那台老舊的 CP5141, 雖然號稱可以裝 64bit, 但 Ubuntu 16.04 64bit 光碟總是跑到一半就 Hang, 本想加個RAM 就好, 但, 一時腦熱....

花了近七千在原價屋裝了台不含硬碟的新電腦, G4600 + H110M ECO, 第一次用微星的主機板呢, 沒辦法, 有 D-SUB + HDMI 的主機板, 最便宜就它了

在 pc_shopping 上 G4600 評價很好, H110M ECO 也有人稱讚, 雖然 pc_shopping 讀起來老覺得有人在帶風向, 不過找了外國的文章, 也還都不錯

尤其在 Amazon 上有一則說 H110M ECO is great for Linux !

和 CP5141 相比, 這台機殼還是太高, 要躺下來放,  然後和 CPU 風扇看起來很兩光, 是 G4600 附的? CP5141 的 ASUS 風扇看起來強壯些

拿回來裝硬碟時, 怎麼看都會被 RAM 擋住, 心裏詛咒了原價屋 N 次後, 才發現, 原來機殼有個和光碟機一樣的擋板可拆, 要從外面插進來才對...., 原來是我太蠢, 原價屋的小哥好冤

稍微看了一下影片, 感覺有點改善, 不過, 舊機器其實也夠用了, 就是愛亂花錢啊, 寫什麼 Android app 呢

2016年11月15日 星期二

RPI3's lirc

refer to : http://ozzmaker.com/how-to-control-the-gpio-on-a-raspberry-pi-with-an-ir-remote/

hardward : 1838B 接 GPIO, 3.3V, GND, PIN18

Software :
1. sudo apt-get install lirc liblircclient-dev
2. 在 /etc/modules 裏加兩行
   lirc_dev
   lirc_rpi gpio_in_pin=18
3. 改 /etc/lirc/hardware.conf
   DEVICE="/dev/lirc0"
   MODULES="lirc_rpi"
4.  reboot, 理論上應該 lircd 會自動起來, 但並沒有
5. 用mode2 測試硬體
    sudo /etc/init.d/lirc stop  ( 沒有這個也無妨, 因為 service 沒設好? )
    mode2 -d /dev/lirc0
6. irrecord --disable-namespace -d /dev/lirc0 lircd.conf
    錄試遙控器的 key, 要加 --disable-namespace 才能隨便給名字
    錄好後 copy 到 /etc/lirc/lircd.conf
7. 手動起 lircd -d /dev/lirc0 
    這是試出來的, 沒有手動起這個 irw 會說 connect fail, 
    而沒有用 -d 指定 /dev/lirc0 的話, irw 沒反應
8. 用 irw 試,  它會印 lircd.conf 出按鍵的名字
9. 原文的程式會去讀 /root/lircrc 或 /etc/lirc/lirc/lircrc 
    可以在 readconfig 那裏改 path, 但之後的 irexe 不知怎麼指定 path, 
    所以還是建了 /etc/lirc/lirc/lircrc
    那程式只是做了和 irw 類似的事
10. 設定 lircrc
    begin
        button = power
        prog   = irexec
        repeat = 1
        config = /home/pi/autoplay/starttv1.sh
    end
   起 irexe, 它就會依遙控器的 button, 去執行 config 那行