Wednesday, July 20, 2016

Xem IPTV với Router Openwrt sử dụng UDPXY



I. Giới thiệu
Các bạn đang sử dụng Internet và IPTV, mình hướng dẫn các bạn cài đặt Router chạy FW Openwrt để xem IPTV trên các thiết bị thông minh (KODI, IOS, Android, SmartTV, PC…)
Vì IPTV sử dụng giao thức UDP/RTP (multicast) để truyền dữ liệu, xem trực tiếp link UDP/RTP trên KODI, VLC… thường có tình trạng vỡ hình, lag mạng và đơ Wifi, nên config Router Openwrt để chỉ lấy tín hiệu UDP/RTP đầu vào và convert thanh tín hiệu TCP(HTTP) để sử dụng trong mạng Lan như bình thường. Nhờ đó không cần Settopbox mà vẫn xem được IPTV trên điện thoại, máy tính, AndroidBox...
Yêu cầu:
- Đã đăng ký IPTV và xem được qua VLC
- Router Wifi đang sử dụng đã cài đặt OpenWrt (hướng dẫn cài FW Openwrt trên các loại Router)
- PC cài sẵn Putty để kết nối SSH vào Router và WinSCP quản lý và chỉnh sửa file trên Router
* Thành quả sẽ thế này, trên KODI:
II. Các bước thực hiện:
(nhiều chữ do mình viết chi tiết cho tránh nhầm lẫn, nhưng làm nhanh lắm, 5 phút là xong thôi)
Phần Modem:
- Đối với nhà mạng VNPT: thường nhà mạng config modem cho IPTV và Internet theo 2 đường Lan riêng biệt, Port 1,2,3 cho Internet, Port 4 cho IPTV (thường thế), các bác cắm LAN thử cổng IPTV (port4) với Laptop, dùng VLC xem thử list IPTV_VNPT, xem được là ok tiến hành config theo cách IPTV và Internet trên 2 đường LAN riêng biệt.

- Đối với FPT: thường IPTV và Internet chung 1 đường LAN, test tín hiệu IPTV bằng cách nối dây Lan từ Modem vào Laptop dùng VLC xem thử list IPTV_FPT, xem được TV và dùng net bình thường là ok, config Router theo cách: IPTV và Internet cùng 1 đường LAN

Phần Router Wifi:
Các model của tplink như wr740/741, wr940/941, wr841/842... chỉ có 4MB flash rom, nên chỉ dùng bản Openwrt 17.01 trở xuống, ko nên dùng bản mới hơn (trừ khi Router của bạn ko có FW bản cũ) vì có khả năng ko đủ bộ nhớ để cài igmpproxy/udpxy
1. Dành cho Internet và IPTV trên 2 đường LAN riêng:
Ta sẽ config trộn lẫn cả IPTV và Internet trên Router Openwrt để vừa xem IPTV vừa có Internet.
Video hướng dẫn cho dễ hiểu và làm theo chi tiết bài viết
- Router rút hết các cổng ra, chỉ để mình Internet cắm vào Wan của Router và sử dụng Wifi để config (để lát config Port đỡ nhầm).
- Nếu IP của Modem và Router trùng nhau thì đổi IP của Router nhé (vd: Modem: 192.168.0.1 thì Router: 192.168.10.1)
- Sử dụng Putty để login SSH vào IP của router gõ lệnh
opkg update && opkg install igmpproxy udpxy kmod-bridge
# thiết lập tự động khởi động cùng openwrt
/etc/init.d/igmpproxy enable
/etc/init.d/udpxy enable
echo "sleep 60 && /etc/init.d/udpxy start > /dev/null 2>&1&
$(cat /etc/rc.local)" > /etc/rc.local
#Xóa IPV6 (giảm vỡ hình cho udpxy)
uci delete dhcp.lan.ra
uci delete dhcp.lan.dhcpv6
uci delete network.wan6
uci set firewall.@defaults[0].disable_ipv6=1
sed -i '/net.ipv6.conf.all.forwarding=1/a net.ipv6.conf.all.disable_ipv6=1' /etc/sysctl.conf
echo "net.ipv4.conf.all.force_igmp_version=2" >> /etc/sysctl.conf
uci commit dhcp
uci commit firewall
uci commit network
tool UDPXY vừa cài chịu trách nhiệm convert luồng dữ liệu của IPTV (rtp, udp) sang (http) xem mượt mà và không ảnh hưởng đến Internet.
- Truy cập Router qua WEB UI, vào Network / Switch:
Đối với các loại Router TP-LINK 740/741/840/841/845/847N ... (chạy bản Openwrt chip ar71xx):
Mặc định Vlan1 có sẵn, Nhấn Add để thêm Vlan 2: CPU để (tagged), Port 4 (untagged), tại Vlan1: CPU để (tagged), Port4 (off) như hình, rồi Save (các bước dưới cũng chỉ Save chứ không Save&Apply nhé)
Port 4 lát nữa sử dụng để cắm dây IPTV (bước này chia thêm 1 Vlan nữa để lát nữa tín hiệu IPTV, không ảnh hưởng đến Internet ở cổng Lan 1,2,3 và Wifi)
Chú ý: Nhiều loại Router, tên số Port ghi trên Router và phần Switch của OpenWrt nhận lệch nhau, có thể Port 4 trên Router mà phần Switch như hình lại nhận Port khác, nên bạn test trước cho cẩn thận tránh cắm nhầm, bằng cách cắm thử dây IPTV vào Port 4 của Router, rồi xem lại phần Switch như ở trên xem đúng Port 4 ko nhé, nếu đúng thì Port 4 (có biểu tượng dây cắm vào), nếu xác định đúng thì rút ra để lát config xong cắm IPTV vào đó, ở hình trên mình dùng Wifi để config nên 4 cổng ko cắm gì cả.
- Qua Network / Interface / cick Add new Interface, tạo Interface tên IPTV (để ý IPTV đều viết hoa ở toàn bài tránh gõ nhầm lại lỗi nhé )để sử dụng cho Vlan02 mới tạo, rồi Save, rồi Edit Interface IPTV, thiết lập như hình.
Phần Advanced Settings, bỏ tích "Use default gateway” và "Use DNS servers advertised by peer", Save lại
 
Phần Physical Setting chọn Vlan 02 (eth0.2) vừa tạo để sử dụng cho IPTVSave lại
Phần Firewall Setting create thêm 1 zone nữa tên IPTV như hìnhSave lại

XongSave lại
Chuyển qua Edit Interface LAN, phần Physical Setting, bỏ tích ở eth0, tích vào Vlan1 (eth0.1).
Các phần General Setup của Interface LAN vẫn để mặc định (IP Lan của Openwrt và IP của Modem phải ko trùng dài IP nhé, vd: IP MODEM: 192.168.0.1 thì Lan Router: 192.168.1.1 hoặc 192.168.10.1)
riêng DHCP Server của Lan Interface, tại tab Advanced Settings, có thể chỉnh mục  là 6,8.8.8.8,8.8.4.4 để sau này các thiết bị kết nối vào Router đều đc set DNS của google (tùy chọn), xong Save
 
Click nút Unsave Changes ở góc và click Save&APPLY để lưu mọi thiết lập.
 
  
- Dùng WinSCP truy cập Openwrt (chọn kết nối SCP nhé), tìm các file sau chỉnh sửa
sửa file /etc/config/firewall
1. Sửa phần zone IPTV như sau
config zone
option name 'IPTV'
option input 'REJECT'
option forward 'REJECT'
option output 'ACCEPT'
option network 'IPTV'
option family 'ipv4'
2. thêm vào cuối file /etc/config/firewall đoạn sau
config rule
option src 'IPTV'
option proto 'igmp'
option target 'ACCEPT'
option family 'ipv4'

config rule
option src 'IPTV'
option proto 'udp'
option dest 'lan'
option dest_ip '224.0.0.0/4'
option family 'ipv4'
option target 'ACCEPT'

config rule
option src 'IPTV'
option proto 'udp'
option dest_ip '224.0.0.0/4'
option family 'ipv4'
option target 'ACCEPT'

config rule
option target 'ACCEPT'
option src 'wan'
option proto 'tcp'
option name 'iptv'
option family 'ipv4'
option dest_port '8889'
Xong Save lại
- Sửa tiếp file /etc/config/network
tìm đến dòng config interface 'lan'
thêm vào dòng  option igmp_snooping 1 như dưới
config interface lan
        option type bridge
        option igmp_snooping 1
        ...
Save lại, chuyển qua edit /etc/config/igmpproxy, xóa hết thêm đoạn sau:
config igmpproxy
        option quickleave 1

config phyint
        option network IPTV
        option zone IPTV
        option direction upstream
        list altnet 0.0.0.0/0

config phyint
        option network lan
        option zone lan
        option direction downstream
Save lại, chuyển qua edit /etc/config/udpxy, sửa như sau:

config udpxy
option disabled '0'
option respawn '1'
option verbose '0'
option status '1'
option bind 'br-lan'
option port '8889'
option source 'eth0.2'
option max_clients '5'
# option log_file '/var/log/udpxy'
# option buffer_size '4096'
# option buffer_messages '-1'
option buffer_time '3'
option mcsub_renew '120'
# option nice_increment '0'
điền Source : eth0.2, chính là tên của VLAN02 (IPTV) (mỗi router có thể khác), không chắc thì qua Network / Interface, để ý phần IPTV sẽ thấy
Xong Save lại.
 - Cắm dây IPTV vào Port 4 (đã xác định ở trên) rồi Reboot lại router thông qua WEB (System >> Reboot)
- Đợi Router khởi động xong, test lại xem Switch của Openwrt nhận đúng port 4 chưa, như hình dưới là được,
Dùng WEB truy cập http://x.x.x.x:8889/status ,(x.x.x.x là địa chỉ Router) nếu vào được là UDPXY đã chạy
- Mở cái IPTV_VNPT tải lúc đầu bằng Notepad, sửa lại các link theo dạng sau: ví dụ từ udp://@232.84.1.27:8136 thành http://x.x.x.x:8889/udp/232.84.1.27:8136 , (x.x.x.x là địa chỉ Router hoặc tải IPTV_VNPT_UDPXY sửa địa chỉ Router ) dùng VLC mở thử 1 link, nếu có hình là thành công. dùng file PLIST M3u đã chỉnh sửa để xem IPTV trên các thiết bị.
- Sau khi config xong thì Port 1,2,3 và WIFI sẽ vừa có mạng và vừa xem được IPTV
2. Dành cho Internet và IPTV trên 1 đường LAN.
Đơn giản hơn vì IPTV và Internet chung trên cổng WAN, nối dây từ Modem sang Wan của Router Openwrt.
Các bước thực hiện:

- Reboot lại router thông qua WEB (System >> Reboot)
- Dùng WEB truy cập http://x.x.x.x:8889/status ,(x.x.x.x là địa chỉ Router) nếu vào được là UDPXY đã chạy
- Mở cái IPTV_FPT tải lúc đầu bằng Notepad, sửa lại các link theo dạng sau:
ví dụ từ udp://@232.84.1.27:8136 thành http://x.x.x.x:8889/udp/232.84.1.27:8136 , (x.x.x.x là địa chỉ Router) dùng VLC mở thử 1 link, nếu có hình là thành công. dùng file PLIST M3u đã chỉnh sửa để xem IPTV trên các thiết bị.
3. Xem IPTV trên SmartTV hoặc AndroidBox.
- Sau khi config xong, các bạn có File M3u Plist dạng http:// sử dụng plist này để xem trên các thiết bị.
Đối với Android OS: 
- Tải App IPTV  và VLC cho Android để đọc m3u plist mới tạo
- Hoặc chuyên nghiệp hơn thì sử dụng KODI: Config Add-on:IPTV Simple Client để xem TV như sau:
   + Chọn file M3u đã chỉnh sửa dạng IPTV_VNPT_UDPXY
   + Epg Setting: XMLTV URL paste link lịch phát sóng (nguồn của bác LiuThuy): http://tinyurl.com/vnepg

Đối với các loại Internet TV chạy (LG WebOS  hoăc Samsung Tizen OS)
- Cài đặt ứng dựng SS-IPTV 
Bổ xung:
1. Đối với cách config trên 2 đường truyền, nếu vẫn cần 1 Port để cho Settopbox:
 - Phần Vlan2, các bạn config port 3,4 (untagged)) cho Vlan2, lúc này Port 4 để cắm IPTV từ MODEM, Port3 sẽ cắm vào Settopbox của các bạn; lúc này Vlan 1 sẽ là Port 1,2 và Wifi.
 - Hoặc các bác Login vào Modem qua phần Port mapping thiết lập lại Port 1,2 cho Internet, Port 3,4 cho IPTV để cắm Settopbox.
2. Vì IPTV đường truyền tương đối lớn nên để xem lâu dài khuyến khích các bạn dùng Lan cable thay vì Wifi sẽ ổn định hơn.
Nhược điểm của udpxy là không bảo mật, vì vậy các bạn không nên sử dụng port mặc định (4022) của udpxy (trong bài viết đã thay đổi thành port 8889, hoặc các bạn thay đổi theo ý của bạn.
3. Đối với Router Newifi D2... (chạy bản Openwrt chip mt7621) phần Switch, config 2 đường truyền thì theo hình:

Chúc thành công! 

Sunday, January 3, 2016

Unbrick và cập nhật Firmware gốc cho Android Box Amlogic MXQ, HD18Q..



1. Cập nhật Firmware gốc của box Amlogic

Có nhiều cách để cập nhật rom cho MXQ như sử dụng Amlogic USB Burning Tool, cập nhật qua thẻ nhớ, được hướng dẫn nhiều trên mạng. 
Có một vấn đề sau một thời gian mình phát hiện ra là, Box MXQ có nhiều phiên bản motherboard (đoại loại giống điện thoại có bản Hàn, bản Nhật, bản quốc tế...), nếu ko chọn đúng bản rom đúng cho board, up vẫn lên nhưng bị lỗi vặt như mất wifi, mất remote hoặc led lỗi, không sleep được, hoặc sleep được nhưng led vẫn trơ ko đổi màu, ko biết nó thức hay ngủ, mình gặp trường hợp cắm Webcam vào bị lỗi, sau chạy đúng FW của box thì nhận bình thường.
Để xác định chính xác box của bạn thuộc mẫu nào, có 2 cách:
- Box của bạn mua về chưa cập nhật ROM lần nào, có thể vào phần Setting

Nên ghi nhớ 2 thông số Model number: vd trên hình là m201

Build number KOt49H.....
Sử dụng TWRP for Amlogic devices backup lại ROM gốc để sau này còn đường quay lại. (khi backup nhớ chọn backup vào thẻ SD, không chọn bộ nhớ trong)

- Nếu trót up rom khác rồi mà bị lỗi vặt như nêu trên: tháo vỏ ra, xem cái mã in tren board như hình , xem của bạn là gì(vd hình dưới là AMLOGIC_S805_BOX_V02), lên mạng tìm đúng rom cho nó up là OK. 

Tham khảo ROM của các board mình sưu tầm.




Một số board thường gặp và link Firmware: Các bạn tìm đúng Board của mình và tải ROM tương ứng về up sẽ ko bị lỗi vặt. 

Các ROM sưu tầm ở dưới tải về, tùy theo định dạng:
- ROM dạng file IMG thì dùng AMlogic USB Burning Tool để up, 
- ROM dạng file ZIP thì copy vào SDcard up với qua Recovery hoặc TWRP

1. MXQ-S805-V1.2 (HD180_V1.2)

NAND ID: H27UCG8T2ETR BC
Stock Firmware
KOt49H.20150720 
KOT49H.20150626
KI-ota-20150905.121755.V0823 

2. S805_MXQ_V2.1 (S805_MXQ_V2.1_150516)

NAND ID: H27UCG8T2ETR BC
KOT49H.20150602
Link ROM amlogic-s805-mxq-ota-s1-20150709.zip 
MOD ROM: S805_m201C ZGENIA44 (up thông qua TWRP Recovery)

3. AMLOGIC_S805_BOX_V02

NAND ID: H27UCG8T2ETR BC
The radio WiFi: RTL8188EUS or RTL8188ETV (less)
Firmware (of the box): KOT49H.20150714test-keys.
Stock firmware MXQ_110k4_20150325
MXQ_110k4_20150325
 MXQ HD18Q Multi ROM (Custom) v2 
S805_BOX_V02_v4 by ZGENIA44.zip (up thông qua TWRP Recovery)

4. A808 Main Board_v1.1 (A808 Main Board_v1.1 2014-06-03 )

NAND ID: H27UCG8T2ETR BC
The radio WiFi: RTL8188ETV
HD18Q MBv1 Custom ROM for OTT MXQ by mediaman 

5. MXV XT-S805P_V01

NAND ID: H27UCG8T2ETR BC
The radio WiFi: RTL8723BS
Firmware (of the box): KOT49H.20150623 test-keys, in the Model number box was named as the PFD_s805
MOD ROM: Install via TRWP
MXQ S805 m201 [v2] by ZGENIA44 (up thông qua TWRP Recovery)

6.MXQ_S805_V03
NAND ID: H27UCG8T2ETR BC
Firmware (of the box): KOt49H.20150714
Link ROM 
MOD ROM: S805_m201C by ZGENIA44 (up thông qua TWRP Recovery)

7. AM_MXQ_A 20150825

NAND ID: H27UCG8T2ETR BC
The radio WiFi: RTL8189ETV
Stock Firmware: KOt49H.20150928
Firmware mod: Tải 2 link toolsROM

8. MXQ_V1.2 2015/07/02 (MXQ_V1.2)

The radio WiFi: RTL8188ETV
NAND ID: H27UCG8T2ETR BC
Firmware (of the box): KOt49H.20150905

9. TY_T2_V1.1

NAND ID: H27UCG8T2ETR BC
The radio WiFi: RTL8189ETV
Firmware (of the box): KOT49H.20150626

10. S805_MXQ_V02_20141028

NAND ID: TOSHIBA ZP9302 TC58TEG6DDKTA00
The radio WiFi: RTL8188ETV

11. KCA-008-1.2_v2 by ZGENIA44
Stock Firmware:  KOT49H.20151026 test-keys
Firmware mod:  KCA-008-1.2_v2 by ZGENIA44.zip (up thông qua TWRP Recovery)

12. MXQ V3_1
Stock Firmware:  MXQ S805 V3_1 20151230
13. S805_MXQ_V03
- IMG rom (for USB burning tool): https://cloud.mail.ru/public/7oSn/WunL7sMWW (fix lỗi 2%)

14. ROM Libreelec for all
Nếu nhu cầu chủ yếu của bạn là giải trí xem phim bằng KODI, thì khuyên nên sử dụng ROM Libreelec, đảm bảo ưng ý, cộng đồng hỗ trợ nhiều nên cài đc cho hầu hết các loại box Amlogic S805, 905.

Một số lỗi khi up rom
- Vì up rom khác nên bootloader và recovery bị thay đổi theo ROM bạn up, khi up lại ROM gốc ban đầu bằng SDCARD hay bị lỗi This package is for "m201" devices; this is a "hd18q" hoặc tương tự vậy thì kiếm ROM dạng file IMG up thông qua AMlogic USB Burning Tool.
- Nếu ko kiếm được ROM IMG phù hợp chỉ tìm được ROM dạng file ZIP thì làm như sau:
+ Một bản ROM ZIP bạn đang up bình thường box của bạn, giải nén ra có 1 folder trong đó tên META-INF
+ Dùng Winrar mở ROM ZIP bạn dùng để up, xóa folder META-INF đi, thay bằng folder META-INF ở trên.
Sử dụng TWRP để up ROM ZIP mới edit là được

2. Unbrick thiết bị Androidbox AMLOGIC

Tình trạng của box em, ko lên gì cả, chỉ đèn đỏ, cách làm đơn giản như sau:
Tải file IMG bạn đã sử dụng để up qua AMlogic USB Burning Tool.
Download Tools 
1. Make SD card
Dùng Tool BootcardMaker.exe, mở Tool lên, nhấn menu ở góc, chọn cái thứ 2, chọn Tiếng Anh, xong Tắt Tool bật lại là có tiếng anh


Chọn thẻ SD (Choose disk), xong nhấn Open chọn file rom IMG của Box bạn, xong nhấn Make để tạo thẻ nhớ boot.
2. Unbrick
- rút nguồi, cắm sdcard
- giữ nút reset, cắm nguồn, đợi màn hình lên,  thả nút reset ra sau khoảng 15s tính từ lúc cắm nguồn, đợi chạy xong là ok.


Tham khảo thêm một vài Forum chia sẻ ROM MXQ

4pda.ru/forum/
mbox.co.za

Trong quá trình up rom, nếu có vấn đề gì, tham gia ý kiến tại Kodiviet.com - Unbrick android box MXQ