[產品] PiTFT – Assembled 480×320 3.5″ TFT+Touchscreen for Raspberry Pi

PiTFT_420x320_3.5_inches

《規格》
- 3.5″ TFT, 可達 480×320 解析度 @ 16-bit per pixel
- 本套件的腳位連接埠已經焊接好,不需再自行焊接
- 本套件包含觸控螢幕面板與底板,不包含其他組件
- 耗電量約 100mA
- Model B+使用Pi 2使用
使用了 SPI 腳位,包括 SCK, MOSI, MISO, CE0, CE1 和 GPIO #25 與 GPIO #24
注意:該面板為為電阻式觸控面板

《教學》
- Adafruit PiTFT 3.5″ Touch Screen for Raspberry Pi

《相關》
- [產品] PiTFT Mini Kit – 320×240 2.8″ TFT+Touchscreen for Pi
- [產品] PiTFT Mini Kit – 320×240 2.8″ TFT+ Capacitive Touchscreen

《下載》
- Datasheet for the controller chip

$ 1,780

[產品] 雙 H 橋直流馬達驅動 IC – L293D

l293d_dual_h_bridge_dc_motor_driver_ic

《特色》
* 包含兩個全 H 橋式電路,可同時控制兩個直流馬達,或者一個步進馬達
* 適合控制工作電壓在 4.5V-36V 的馬達

《規格》
* 使用 5V 準位,每個腳位容忍電流為 600mA

《下載》
* datasheet

《相關》
- [產品] 單層自走車底盤(含二輪跑車胎 + 一萬向輪 + 二馬達)
- [產品] 雙層四驅自走車底盤(含四輪+四馬達)

《教學》
- Controlling DC Motors Using Python With a Raspberry Pi
- Adafruit’s Raspberry Pi Lesson 9. Controlling a DC Motor
- Adafruit’s Raspberry Pi Lesson 10. Stepper Motors

$ 100

[產品] anidees Model B+/Pi 2/Pi 3鋁合金外殼 (銀色/黑色)

anidees Model B+/Pi 2/Pi 3鋁合金銀色外殼
anidees_case_for_raspberrypi_model_b_plus_clear_02

《內容物》
* 銀色外殼+透明頂蓋 / 黑色外殼+深棕頂蓋 (銀色或黑色擇一)
* 開關傳輸線 (microUSB轉USB) x1
* 頂蓋內六角螺絲 x4
* 木板用攻牙螺絲 x2
* 背蓋可固定螺絲 x4
* 內六角板手 x2
* 棕色外盒 x1
* 注意:本外殼不包含 Raspberry Pi

anidees_case_for_raspberrypi_model_b_plus_clear_03

《銀色規格》

銀色外殼 透明頂蓋
Dimension: 91mm (W) x 67mm (H) x 28mm(D) 91mm (W) x 67mm (H) x 8mm(D)
Weight: 157g 98g
Material: AL(1.5~4mm) Acrylic(5mm)
Color: Silver Clear

$ 1,200


anidees Model B+/Pi 2/Pi 3鋁合金黑色外殼
anidees_case_for_raspberrypi_model_b_plus_black_01

《黑色規格》

黑色外殼 深棕頂蓋
Dimension: 91mm (W) x 67mm (H) x 28mm(D) 91mm (W) x 67mm (H) x 8mm(D)
Weight: 157g 98g
Material: AL(1.5~4mm) Acrylic(5mm)
Color: Black Dark Brown

anidees_case_for_raspberrypi_model_b_plus_black_02

$ 1,200


anidees Model B+/Pi 2 全鋁合金黑色外殼

fully-aluminium-pi-2-case -black-2in1

《規格》

AVAILABLE COLOR

Black

MATERIAL

Aluminum (1.5~4mm) , Rubber

DIMENSION (W / H / D)

L*W*H=91.05*67.25*30 /31.5(with feet)mm

WEIGHT

Net Weight: 160g /0.35lbs
Gross Weight: 250g / 0.55 lbs

fully-aluminium-pi-2-case -black-4in1

$ 1,400(停售)



《相關》
- [產品] Raspberry Pi 2 Model B + 外殼 + 5V/2A電源組
- [產品] anidees USB Charger (5 Port/6 Port)

[產品] KY-024 線性磁力霍爾數位類比雙輸出感測器

KY-024_Digital_and_analog_linear_magnetic_hall_sensor

《特色》
可用於感測磁力。為數位輸出時,當感測到磁力時,輸出高電位。類比輸出時,感測之磁力強度為輸出信號。

《原理》
磁場的磁通密度與通過導體的電流強度成正比,所以當霍爾元件檢出磁通密度夠大,即輸出高電位信號。

圖片來源:The Hall Effect Sensor

《規格》
- 感測器:SS49e
- 5V工作電壓
- 輸出形式:類比/數位雙輸出

《下載》
datasheet

《教學》
線路圖(類比)

範例程式

線路圖(數位)

$ 90

[產品] Huawei E1820 3G 網卡

huawei-e1820-3g-dongle

《特色》
* 支援多種不同標準的網路技術
* elinux 測試可用
* HSDPA 模式下最快下載可達 21.6 Mbps

《規格》
* 支援的網路與頻段:HSPA+/HSPA/UMTS 2100MHz GSM/GPRS/EDGE 850/900/1800/1900MHz
* 尺寸:12.4mm(H) x 28mm(W) x 76mm(D)
* 重量:40g
* 注意:本網卡需搭配標準大小的 SIM 卡
* 注意:顏色有白色或黑色,隨機出貨

《教學》
- [基礎] Raspberry Pi 用 3G 網卡(3G USB dongle)上網

《下載》
- support_broadband_E1820_productspecification

$ 1050

[產品] 3.5mm轉RCA傳輸線

3.5mm_jack_to_rca_cable
《特色》
* 3.5mm 插孔轉 RCA 輸出,可同時顯示影像與立體聲,Model B+ / Pi 2 適用。
* 連接頭採 4N 無氧銅(OFC),高屏蔽與抗干擾設計,傳輸信號效果佳。

《規格》
* 線長 1.5 公尺

《使用》
線材 — 影音設備
紅 <==> 黃
黃 <==> 白
白 <==> 紅

$ 160

[基礎] Raspberry Pi 用 3G 網卡(3G USB dongle)上網

e1820_with_raspberry_pi_model_b_plus

本文章使用 Raspberry Pi Model B+,映像檔為 2014-12-24-wheezy-raspbian.img。使用的 3G 網卡為 Huawei E1820 3G 網卡。

現在的 3G/4G 網卡(或稱為 USB 數據機)大多同時有儲存設備和 USB 數據機的功能,其中儲存設備功能存放 MS Windows 的驅動程式,USB 數據機就是可撥號連線接取上網際網路。

如果是第一次將 3G 網卡插在安裝了 Windows 系統的電腦上,網卡將會以虛擬光碟機的模式掛載成儲存設備,並且自動安裝驅動程式。當完成安裝後就可用虛擬光碟機轉換工具(Virtual CD-ROM switching utility)或稱為模式轉換工具,正確轉換網卡為 USB 數據機。

如果要在 Raspberry Pi 上使用 3G/4G 網卡上網,要做的事就是安裝設定模式轉換工具與安裝設定撥號連線程式。步驟如下:
 
1. 確認硬體資訊。
當插上 E1820 時,可以看到系統可辨認成 HSPA modem。

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
... skip ...
Bus 001 Device 008: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173 (HSPA modem)
... skip ...

dmesg 查看時,可看到系統將網卡的儲存功能辨認成 scsi 介面的 CD-ROM(sr0)。

pi@raspberrypi ~ $ dmesg
... skip ...
[    7.062455] usb 1-1.4: new high-speed USB device number 6 using dwc_otg
[    7.195063] usb 1-1.4: New USB device found, idVendor=12d1, idProduct=1446
[    7.219562] usb 1-1.4: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[    7.242348] usb 1-1.4: Product: HUAWEI Mobile
[    7.251156] usb 1-1.4: Manufacturer: Huawei Technologies
[    7.282719] usb-storage 1-1.4:1.0: USB Mass Storage device detected
[    7.309727] scsi0 : usb-storage 1-1.4:1.0
[    7.323198] usb-storage 1-1.4:1.1: USB Mass Storage device detected
[    7.351048] scsi1 : usb-storage 1-1.4:1.1
[    8.322907] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[    8.363958] scsi 1:0:0:0: Direct-Access     HUAWEI   TF CARD Storage       PQ: 0 ANSI: 2
[    8.417357] sd 1:0:0:0: [sda] Attached SCSI removable disk
[    8.583801] sr0: scsi-1 drive
[    8.591172] cdrom: Uniform CD-ROM driver Revision: 3.20
[    8.681129] sr 0:0:0:0: Attached scsi generic sg0 type 5
[    8.698176] sr 0:0:0:0: Attached scsi CD-ROM sr0

e1820_dmesg_before_mode_switch
如果我們將 sr0 掛載起來,就可清楚的看到裡面所存放的檔案是 Windows 驅動程式。

pi@raspberrypi ~ $ ls -al /dev/disk/by-id/
total 0
drwxr-xr-x 2 root root 140 Dec 24 12:31 .
drwxr-xr-x 6 root root 120 Jan  1  1970 ..
lrwxrwxrwx 1 root root  13 Jan  1  1970 memstick-SU16G_0x27885644 -> ../../mmcblk0
lrwxrwxrwx 1 root root  15 Dec 24 12:28 memstick-SU16G_0x27885644-part1 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root  15 Dec 24 12:28 memstick-SU16G_0x27885644-part2 -> ../../mmcblk0p2
lrwxrwxrwx 1 root root   9 Dec 24 12:38 usb-HUAWEI_Mass_Storage-0:0 -> ../../sr0
lrwxrwxrwx 1 root root   9 Dec 24 12:31 usb-HUAWEI_TF_CARD_Storage-0:0 -> ../../sda
pi@raspberrypi ~ $ sudo mount /dev/sr0 /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
pi@raspberrypi ~ $ ls -al /mnt/
total 586
dr-xr-xr-x  1 root root   2048 Nov 27  2012 .
drwxr-xr-x 22 root root   4096 Dec 21 11:09 ..
-r-xr-xr-x  1 root root 148320 Mar 14  2011 AutoRun.exe
-r-xr-xr-x  1 root root     45 Oct  1  2008 AUTORUN.INF
dr-xr-xr-x  1 root root   2048 Nov 27  2012 Mobile Partner
-r-xr-xr-x  1 root root 439926 Nov 15  2009 Startup.ico
-r-xr-xr-x  1 root root   1742 Nov 23  2012 SysConfig.dat

e1820_mount_device

 
2. 安裝與設定模式轉換工具。
安裝 usb-modeswitch 會將有相依性的 usb-modeswitch-data 一併安裝起來。

pi@raspberrypi ~ $ sudo apt-get install -y usb-modeswitch

e1820_install_usb_modeswitch

我們可以比較模式轉換前後的分別,這可幫助我們確認是否有成功轉換 3G 網卡成 USB 數據機。檢查方式是執行 ls /dev/tty*,在模式還沒有轉換前,可以看到最後兩項是 /dev/ttyAMA0/dev/ttyprintk
e1820_ls_tty_before_mode_switch

安裝完成後就要進行模式的設定,usb-modeswitch 需要和 udev 搭配。

udev 包含 user space daemon(udevd)和工具程式 udevinfo(或 udevadm),並可以讓使用者自訂規則存放於 /etc/udev/rules.d/ 下。有關 udev 可以看 wiki 的介紹。

udev 是 Linux kernel 2.6 系列的設備管理器。它主要的功能是管理 /dev 目錄底下的設備節點。它同時也是用來接替 devfs 及 hotplug 的功能,這意味著它要在添加/刪除硬件時處理 /dev 目錄以及所有用戶空間的行為,包括加載 firmware 時。

實際上 usb-modeswitchudev 的運作順序如下:

* /lib/udev/rules.d/40-usb_modeswitch.rules:udev 的規則文件,如果設備被識別(包括 Vendor ID 和 Product ID)就會啟動 usb_modeswitch。
* /lib/udev/usb_modeswitch: 執行 usb_modeswitch_dispatcher 的 script。
* /usr/sbin/usb_modeswitch_dispatcher:usb_modeswitch 的 wrapper,用 tcl 寫的,會根據所選擇的設備與設定實際執行 /usr/sbin/usb_modeswitch。
* /etc/usb_modeswitch.conf:全域的設定檔案,也可用於單一的設備設定資訊。
* /etc/usb_modeswitch.d:該文件夾包含了各別設備的獨立設定資訊,各別裝置的設定檔案是用設備的 ID 來命名。
* /usr/sbin/usb_modeswitch:實際轉換裝置模式的二進位程式。

因此我們要新增網卡設備的規則到 /lib/udev/rules.d/40-usb_modeswitch.rules

pi@raspberrypi ~ $ sudo vi /lib/udev/rules.d/40-usb_modeswitch.rules

在檔案最後加上兩行。

# E1820
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'"

e1820_udev_config

其中 idVendor="12d1" 和 idProduct="1446" 這些資訊是由 lsusb 得到的。
e1820_lsusb_before_mode_switch

接著再將網卡要轉換的資訊加到 /etc/usb_modeswitch.conf 下。

pi@raspberrypi ~ $ sudo vi /etc/usb_modeswitch.conf

在檔案最後加上幾行。

DefaultVendor=0x12d1
DefaultProduct=0x1446

TargetVendor=0x12d1
TargetProduct=0x14ac

MessageContent="5553424312345678000000000000061e000000000000000000000000000000"

e1820_usb_modeswitch_config

DefaultVendor 和 DefaultProduct 也是剛剛 lsusb 的結果。但 TargetVendor 和 TargetProduct 就需要上網爬文,例如這裡有提供。

而將 EnableLogging=0 改為 EnableLogging=1 可在 /var/log 下查看 usb_modeswitch_** 的 log 方便除錯。

如果設定沒問題,重開機用 dmesg 就可以看到已經成功的將 USB 數據機(usb 1-1.4) 掛載到 ttyUSB0、ttyUSB1 和 ttyUSB2。

... skip ...
[    7.062368] usb 1-1.4: new high-speed USB device number 6 using dwc_otg
[    7.185037] usb 1-1.4: New USB device found, idVendor=12d1, idProduct=1446
[    7.208299] usb 1-1.4: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[    7.230322] usb 1-1.4: Product: HUAWEI Mobile
[    7.250718] usb 1-1.4: Manufacturer: Huawei Technologies
[    7.273445] usb-storage 1-1.4:1.0: USB Mass Storage device detected
[    7.297764] scsi0 : usb-storage 1-1.4:1.0
[    7.313332] usb-storage 1-1.4:1.1: USB Mass Storage device detected
[    7.342617] scsi1 : usb-storage 1-1.4:1.1
[    8.315111] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[    8.345229] scsi 1:0:0:0: Direct-Access     HUAWEI   TF CARD Storage       PQ: 0 ANSI: 2
[    8.373824] sd 1:0:0:0: [sda] Attached SCSI removable disk
[    9.630014] scsi 0:0:0:0: Attached scsi generic sg0 type 5
[    9.773321] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    9.819475] sr0: scsi-1 drive
[    9.942382] cdrom: Uniform CD-ROM driver Revision: 3.20
[   10.122331] sr 0:0:0:0: Attached scsi CD-ROM sr0
[   11.142844] usb-storage 1-1.4:1.0: USB Mass Storage device detected
[   11.153861] usb 1-1.4: USB disconnect, device number 6
[   11.176368] scsi2 : usb-storage 1-1.4:1.0
[   11.208558] scsi 1:0:0:0: rejecting I/O to offline device
[   11.218302] scsi 1:0:0:0: killing request
[   15.762375] usb 1-1.4: new high-speed USB device number 7 using dwc_otg
[   15.885281] usb 1-1.4: New USB device found, idVendor=12d1, idProduct=14ac
[   15.906715] usb 1-1.4: New USB device strings: Mfr=4, Product=3, SerialNumber=0
[   15.929998] usb 1-1.4: Product: HUAWEI Mobile
[   15.959491] usb 1-1.4: Manufacturer: Huawei Technologies
[   15.999001] usb-storage 1-1.4:1.5: USB Mass Storage device detected
[   16.040642] scsi3 : usb-storage 1-1.4:1.5
[   16.057131] usb-storage 1-1.4:1.6: USB Mass Storage device detected
[   16.099706] scsi4 : usb-storage 1-1.4:1.6
[   16.366181] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   16.445601] usbcore: registered new interface driver cdc_ether
[   16.491873] usbcore: registered new interface driver usbserial
[   16.586318] usbcore: registered new interface driver usbserial_generic
[   16.617253] usbcore: registered new interface driver cdc_wdm
[   16.679164] usbserial: USB Serial support registered for generic
[   16.721907] qmi_wwan 1-1.4:1.1: cdc-wdm0: USB WDM device
[   16.751517] qmi_wwan 1-1.4:1.1 wwan0: register 'qmi_wwan' at usb-bcm2708_usb-1.4, WWAN/QMI device, a6:37:fd:d4:42:14
[   16.800868] usbcore: registered new interface driver qmi_wwan
[   16.830143] usbcore: registered new interface driver option
[   16.866417] usbserial: USB Serial support registered for GSM modem (1-port)
[   16.953166] option 1-1.4:1.0: GSM modem (1-port) converter detected
[   17.008423] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[   17.054788] scsi 3:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[   17.095286] sr0: scsi-1 drive
[   17.113002] sr 3:0:0:0: Attached scsi CD-ROM sr0
[   17.113502] sr 3:0:0:0: Attached scsi generic sg0 type 5
[   17.134929] option 1-1.4:1.3: GSM modem (1-port) converter detected
[   17.155709] scsi 4:0:0:0: Direct-Access     HUAWEI   TF CARD Storage       PQ: 0 ANSI: 2
[   17.193722] sd 4:0:0:0: [sda] Attached SCSI removable disk
[   17.204968] sd 4:0:0:0: Attached scsi generic sg1 type 0
[   17.326895] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[   17.473045] option 1-1.4:1.4: GSM modem (1-port) converter detected
[   17.612898] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB2
... skip ...

e1820_dmesg_after_mode_switch
 
ls /dev/tty* 也可看到最後長出了 /dev/ttyUSB0、/dev/ttyUSB1 和 /dev/ttyUSB2。

pi@raspberrypi ~ $ ls /dev/tty*

e1820_ls_tty_after_mode_switch

這時候我們用 lsusb 也可以發現讀到的硬體資訊改變了,包括 idProduct 和名稱都有變化。

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
... skip ...
Bus 001 Device 007: ID 12d1:14ac Huawei Technologies Co., Ltd. 
... skip ...

e1820_lsusb_after_mode_switch

 
3. 安裝與設定撥號程式。
安裝撥號程式 wvdial 會一同安裝 ppp

pi@raspberrypi ~ $ sudo apt-get install -y wvdial

e1820_install_wvdial
 
再來設定 wvdial.conf

pi@raspberrypi ~ $ sudo vi /etc/wvdial.conf

加上一個撥號的 profile。

[Dialer E1820]
Phone = *99#
APN = internet
Username = username
Password = password
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1, "IP","Internet"
Modem = /dev/ttyUSB0
Baud = 460800
Stupid Mode = 1

e1820_wvdial_config
其中
* [Dialer xxx]:profile 名稱,之後撥號就會以 xxx 為名,可設定多組 profile。
* Modem:wvdial 所用的數據機設備位置,預設為 /dev/modem。
* Baud:wvdial 和數據機所溝通的 baud rate。
* Stupid Mode:如果啟用 stupid mode,數據機在和終端伺服器(terminal server)溝通時將不會出現提示,並且當數據機連上後會立即啟動 pppd。

使用 wvdial 進行撥號連線,選擇 E1820 的 profile。

pi@raspberrypi ~ $ sudo wvdial E1820

在進行 pppd 連線過程中,會看到像是亂碼的符號,但如果連線成功會得到 IP 和 DNS 的位址。
e1820_wvdial
 
再用 ifconfig 查看網路介面資訊,可以發現多了一個 ppp0 的連線。
e1820_wvdial_ifconfig
 
開啟瀏覽器,確認可以連上網際網路。
browser_show_raspberry_pi_taiwan
 

常見問與答:

1. 如何測連線速度?
有關測網路的連線速度方法有很多,我們使用 speedtest-cli 這個用 python 寫的命令列測速套件,原始碼在 github。實際執行時,這個工具會連線到 speedtest.net 並測試上傳和下載的速度。

使用前需要先安裝相關的套件如下。

pi@raspberrypi ~ $ sudo apt-get install python-dev python-pip
pi@raspberrypi ~ $ sudo pip install speedtest-cli

執行 speedtest-cli

pi@raspberrypi ~ $ speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Chunghwa Telecom Co., Ltd. (223.136.198.66)...
Hosted by Taiwan Fixed Network (New Taipei) [7.30 km]: 91.097 ms
Testing download speed........................................
Download: 2.48 Mbits/s
Testing upload speed..................................................
Upload: 1.41 Mbits/s

speedtest-cli 會根據使用者所在的位置,連線到最近的伺服器做測速。我們可以加上 --list 列出在台灣的伺服器列表。

pi@raspberrypi ~ $ speedtest-cli --list | grep Taiwan
2133) Taiwan Fixed Network (Taipei, Taiwan) [0.47 km]
2327) Far Eastone Telecommunications Co., Ltd. (Taipei, Taiwan) [0.47 km]
5008) Asia Pacific Telecom (Taipei, Taiwan) [0.47 km]
5661) NCIC Telcom (Taipei, Taiwan) [0.47 km]
2188) TFN Media Co., Ltd. (Taipei, Taiwan) [0.47 km]
3967) Chief Telecom (Taipei, Taiwan) [0.47 km]
5056) Taipei Fiber (Taipei, Taiwan) [0.47 km]
5660) NCIC Telcom (New Taipei, Taiwan) [9.09 km]
4505) Chief Telecom (New Taipei, Taiwan) [9.09 km]
5219) Taiwan Fixed Network (New Taipei, Taiwan) [9.09 km]
5067) Far Eastone Telecommunications Co., Ltd. (New Taipei, Taiwan) [9.09 km]
3921) Taiwan Fixed Network (Taoyuan, Taiwan) [31.66 km]
2589) Far EasTone Telecommunications Co., Ltd (Taoyuan, Taiwan) [31.66 km]
... skip ...

我們也可以指定伺服器做測試。只要在 speedtest-cli 後面加上伺服器的編號例如 --server 2133 就可以了。但我們實際測試時是沒有加上這個選項,而讓它自己選擇最近的伺服器。

2. 有其他網卡的設定可參考嗎?
以下是我們測過的幾張網卡的設定檔。

Huawei E220/Huawei E230
修改 /lib/udev/rules.d/40-usb_modeswitch.rules

ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1003", RUN+="usb_modeswitch '%b/%k'"

修改 /etc/usb_modeswitch.conf

DefaultVendor=0x12d1
DefaultProduct=0x1003
TargetVendor=0x12d1
TargetProductList="1001,1003,1406,140c,14ac"
MessageContent="55534243123456780000000000000011060000000000000000000000000000"

使用 speedtest-cli 的參考結果。
E230_speedtest_cli
 

Huawei E372
修改 /lib/udev/rules.d/40-usb_modeswitch.rules

ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1505", RUN+="usb_modeswitch '%b/%k'"

修改 /etc/usb_modeswitch.conf

DefaultVendor=  0x12d1
DefaultProduct= 0x1505
TargetVendor=   0x12d1
TargetProduct=  0x140c
TargetProductList="1001,1406,140b,140c,1412,141b,1433,14ac,1506,150f"
MessageContent="5553424312345678000000000000061e000000000000000000000000000000"

使用 speedtest-cli 的參考結果。
E372_speedtest_cli
 

Huawei E398u-1
修改 /lib/udev/rules.d/40-usb_modeswitch.rules

ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1505", RUN+="usb_modeswitch '%b/%k'"

修改 /etc/usb_modeswitch.conf

DefaultVendor=0x12d1
DefaultProduct=0x1505
TargetVendor=0x12d1
TargetProduct=0x1506
MessageContent="5553424312345678000000000000061e000000000000000000000000000000"

使用 speedtest-cli 的參考結果。
E398_speedtest_cli
E372 和 E398 的 idProduct 相同,只是因為 Huawei 沒有給每一個裝置都使用唯一的 idProduct。
 

3. 這錯誤訊息是什麼意思?

--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1, "IP","Internet"
AT+CGDCONT=1, "IP","Internet"
ERROR
--> Bad init string.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1, "IP","Internet"
AT+CGDCONT=1, "IP","Internet"
ERROR
--> Bad init string.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1, "IP","Internet"
AT+CGDCONT=1, "IP","Internet"
ERROR                                             
--> Bad init string.

會發生這樣錯誤訊息的可能性有很多種,比如說網卡和 /etc/usb_modeswitch.conf 不匹配,或是 wvdial.conf 連線設定有誤,有可能是 SIM 卡沒安裝或沒插好,也有可能是網卡壞掉,甚至有時候從 Model B 換到 Model B+ 就解決了。
 

4. 如果發現連線到一半容易斷線該怎麼辦?
這通常是供電不足造成的結果。如果使用好的電源還是會容易斷線的話,解決方法第一個可以先修改 /boot/config.txt 如下,讓 USB 的電流可以從 600mA 提升到 1200 mA。

max_usb_current=1

解決方法第二是接一個有獨立供電的 USB Hub,問題就會解決了。
 

參考資料:
* Huawei E220
* How to setup a USB 3G Modem on Raspberry PI using usb_modeswitch and wvdial
* Use 3g/UMTS USB Dongle for WAN connection
* USB_ModeSwitch – Handling Mode-Switching USB Devices on Linux
* usb_modeswitch_dispatcher
* usb_modeswitch(1) – Linux man page
* udev
* Device Reference
* Linux / Unix Command: wvdial.conf
* Huawei E372 mobile broadband
* TROUBLESHOOT HUAWEI E398 ON MANJARO LINUX
* How to check Internet Speed via Terminal?
* How to Test Internet Connection Speed using Speedtest-Cli on Ubuntu Server

[活動] 20150124 Raspberry Pi Hackathon #01

<English Version>
The first time of Raspberry Pi Hackathon in Taiwan, we hope you can make what you want within eight hours in a day.

Welcome already have an idea, or ongoing friends come here to finish, also welcomed friends to join in just getting started.

The list of hardware provided, please refer to: http://goo.gl/US13IW

Hardware used for this activity is provided by Raspberry Pi Taiwan and Taipei Hackerspace, after use must be returned.

Additional Information:
* 2015/01/24 09:30 ~ 2015/01/24 18:00
* 4F., No.26, Ln. 133, Taiyuan Rd., Datong Dist., Taipei City 103, Taiwan
* $200 per person

registration link: http://raspberrypi-tw-bdfa45.kktix.cc/events/hackathon-01

 

<中文版>
第一次 Raspberry Pi Hackathon,希望大家能在一天八小時之內做出自己想要的東西。

歡迎已經有想法、或是正在進行中的朋友們來這裡繼續完成,也歡迎剛入門的朋友一同參加。

本次所提供的硬體列表請參考(持續修改中):http://goo.gl/US13IW

本活動所使用的硬體由台灣樹莓派Taipei Hackerspace 所提供,使用後需歸還。

活動資訊
* 2015/01/24 09:30 ~ 2015/01/24 18:00
* Taipei Hackerspace (103 台北市大同區太原路 133 巷 26 號 4F)
* 每人 $200 餐點費用(午餐)
* 備註:參加人員需自備筆電、Raspberry Pi、SD卡、電源和無線網卡。

報名連結:http://raspberrypi-tw-bdfa45.kktix.cc/events/hackathon-01