Cách sửa đổi ngăn xếp Bluetooth trên Android để có chất lượng âm thanh Bluetooth được cải thiện đáng kể

Cảnh báo: Đây là một hướng dẫn rất tiên tiến liên quan đến việc sửa đổi ngăn xếp Bluetooth của bạn trên Android - đọc toàn bộ hướng dẫn này và làm theo tất cả các hướng dẫn chính xác như được đưa ra.

Mặc dù thực tế là tai nghe Bluetooth và âm thanh Bluetooth đã trở nên khá phổ biến, nhưng đó là một vấn đề đối với những người mê âm thanh vì Bluetooth đã được chứng minh là làm giảm chất lượng âm thanh, vì các bit của thông tin âm thanh và tần số bị mất trong không khí khi truyền phát qua Bluetooth.

Đây là lý do tại sao một số nhà sản xuất đưa ra codec aptX và LDAC, để tăng cường chất lượng âm thanh so với codec Bluetooth SBC tiêu chuẩn được hỗ trợ bởi tất cả tai nghe và hầu hết các thiết bị Bluetooth - tuy nhiên, các thiết bị có codec aptX và LDAC đắt hơn nhiều vì các codec này yêu cầu phí cấp phép, mà người tiêu dùng phải trả trong thời gian dài.

Chất lượng âm thanh thấp của codec Bluetooth SBC là do các giới hạn nhân tạo của tất cả các ngăn xếp Bluetooth và cấu hình tai nghe hiện tại và giới hạn này có thể bị phá vỡ trên mọi thiết bị hiện có.

Nếu bạn quan tâm đến âm thanh Bluetooth, chúng tôi sẽ chỉ cho bạn ở phần cuối của hướng dẫn này cách lấy bản ghi nhật ký âm thanh Bluetooth và kiểm tra nó để xem loại chất lượng âm thanh và tần số bạn nhận được từ bộ thu Bluetooth của Android.

Phần lớn của hướng dẫn này sẽ tập trung vào một số điều chỉnh đơn giản và cách đọc đầu ra âm thanh Bluetooth của bạn để tăng cường đáng kể chất lượng đầu ra của các codec Bluetooth SBC tiêu chuẩn - vui lòng đọc kỹ hướng dẫn này vì nó khá giáo dục và có nhiều nội dung khác nhau để flash hoặc chỉnh, tùy thuộc vào kiểu thiết bị của bạn.

Ở cuối hướng dẫn này là danh sách các ngăn xếp Bluetooth được vá sẵn cho rất nhiều thiết bị Android phổ biến - chúng có thể được flash trong recovery như bất kỳ thiết bị flash nào khác .zip - nếu không có thiết bị nào thuộc về bạn, bạn sẽ có để làm theo hướng dẫn sửa đổi ngăn xếp Bluetooth trên Android.

Thông tin kỹ thuật ngắn về SBC codec

SBC có rất nhiều tham số khác nhau được đàm phán trong giai đoạn thiết lập kết nối:

  • Loại và số kênh âm thanh: Âm thanh chung, Âm thanh nổi, Kênh đôi, Mono;
  • Số dải tần số: 4 hoặc 8;
  • Số khối âm thanh trong một gói: 4, 8, 12, 16;
  • Thuật toán phân bổ bit lượng tử hóa: Độ to, SNR;
  • Nhóm bit tối đa và tối thiểu được sử dụng trong quá trình lượng tử hóa: thường là 2-53.

Bộ giải mã là cần thiết để hỗ trợ bất kỳ sự kết hợp của các tham số này. Bộ mã hóa chỉ có thể thực hiện một phần của chúng.

Các ngăn xếp Bluetooth hiện có thường đàm phán cấu hình sau: Âm thanh nổi chung, 8 băng tần, 16 khối, Độ to, bitpool 2..53. Cấu hình này mã hóa âm thanh 44, 1 kHz với tốc độ bit là 328 kbps.

Tham số bitpool ảnh hưởng trực tiếp đến bitrate trong cùng một cấu hình: nó càng cao thì bitrate càng cao và do đó chất lượng.

Tuy nhiên, tham số bitpool không bị ràng buộc với một cấu hình cụ thể. Tốc độ bit cũng bị ảnh hưởng đáng kể bởi các tham số khác: loại kênh âm thanh, số dải tần số, số khối âm thanh. Bạn có thể tăng bitrate một cách gián tiếp bằng cách đàm phán các cấu hình không chuẩn, mà không thay đổi bitpool.

Ví dụ: Kênh đôi mã hóa các kênh riêng biệt, sử dụng toàn bộ bitpool cho mỗi kênh. Việc buộc thiết bị sử dụng Kênh đôi thay vì Âm thanh chung sẽ giúp chúng tôi tăng gấp đôi tốc độ bit ở cùng một bitpool tối đa, 617 kbps.

Đối với tôi nó cảm thấy rằng bitpool nên là một biến nội bộ. Đó là một lỗi thiết kế đặc tả kỹ thuật A2DP mà giá trị bitpool không bị ràng buộc với các tham số codec khác và chỉ được xác định là giá trị toàn cục.

Các giá trị Bitpool và Bitrate cố định này bắt nguồn từ các giá trị được đề xuất cho âm thanh chất lượng cao. Nhưng khuyến nghị không phải là một cái cớ để giới hạn hồ sơ cho các giá trị này.

Thông số kỹ thuật A2DP v1.2, hoạt động từ năm 2007 đến 2015, yêu cầu tất cả các bộ giải mã hoạt động chính xác với tốc độ bit lên tới 512 kbps:

Bộ giải mã của SNK sẽ hỗ trợ tất cả các giá trị bitpool có thể không dẫn đến vượt quá tốc độ bit tối đa. Cấu hình này giới hạn tốc độ bit tối đa khả dụng ở mức 320kb / giây đối với đơn âm và 512kb / giây đối với chế độ hai kênh.

Trong phiên bản mới của đặc tả không có giới hạn bitrate. Người ta cho rằng tai nghe hiện đại được phát hành sau năm 2015 có thể hỗ trợ bitrate lên tới 1000 kbps .

Vì một số lý do, tất cả các ngăn xếp Bluetooth hiện đang được thử nghiệm (Linux (PulseAudio), Android, Blackberry và macOS) đều có các hạn chế nhân tạo về tham số bitpool tối đa, ảnh hưởng trực tiếp đến tốc độ bit tối đa. Nhưng đây không phải là vấn đề lớn nhất, hầu như tất cả các tai nghe cũng giới hạn giá trị bitpool tối đa là 53.

Hầu hết các thiết bị hoạt động tốt trên ngăn xếp Bluetooth được sửa đổi với tốc độ bit 507 kbps, không bị gián đoạn và bẻ khóa. Nhưng một bitrate như vậy sẽ không bao giờ được đàm phán trong điều kiện bình thường, với các ngăn xếp Bluetooth chứng khoán.

*** Cần thiết để kiểm tra bằng cách sử dụng Hướng dẫn bên dưới: bluetooth-dualchannel-test-ub Ubuntu-18.04.1-desktop-amd64.iso.torrent

Cách kiểm tra trên PC

Kiểm tra khả năng tương thích tai nghe SBC bitrate cao là cách dễ nhất để thực hiện trên PC với bộ điều hợp Bluetooth. Tôi đã chuẩn bị hình ảnh Ubuntu với ngăn xếp Bluetooth được sửa đổi, có thể chạy như trong một máy ảo (bằng cách kết nối bộ điều hợp Bluetooth như một thiết bị USB bên trong máy ảo, nó cũng hoạt động với các bộ điều hợp được tích hợp trong máy tính xách tay) hoặc bằng cách khởi động từ ổ đĩa flash USB. Hình ảnh này sử dụng cấu hình sau: Kênh kép, 8 băng tần, 16 khối, Độ to, bitpool 2..41, 44.1 kHz, cung cấp tốc độ bit 485 kbps.

Chạy trong máy ảo

  • Tải xuống Gói mở rộng Virtualbox và Virtualbox: //www.virtualbox.org/wiki/Doads;
  • Cài đặt Virtualbox, khởi động nó;
  • Cài đặt Gói mở rộng bằng Tệp → Tùy chọn → Tiện ích mở rộng;
  • Tạo máy ảo mới: Linux, Ubuntu (64-bit), RAM 1024. Không tạo ổ cứng.
  • Điều hướng đến cài đặt máy ảo, trong Bộ nhớ chọn Bộ điều khiển: IDE, Làm trống, nhấn biểu tượng CD → Chọn tệp đĩa quang ảo;
  • Chọn bluetooth-dualchannel-test-ubfox-18.04.1-desktop-amd64.iso đã tải xuống;
  • Lưu và đóng cửa sổ cài đặt, khởi động máy ảo;
  • Nhấp chuột phải vào biểu tượng cáp USB ở dưới cùng bên phải, chọn bộ điều hợp Bluetooth của bạn;

Chạy trên PC

Hình ảnh hỗ trợ khởi động BIOS / CSM và UEFI.

  • Ghi hình ảnh vào ổ flash USB bằng Etcher: //etcher.io/. Thao tác này sẽ xóa tất cả các tệp hiện có trên ổ USB.
  • Tắt PC;
  • Lắp ổ flash USB, bật PC và nhấn nút thứ tự khởi động (thường là Esc hoặc F12);
  • Chọn ổ đĩa flash USB của bạn.

Thực hiện bài kiểm tra

  • (tùy chọn nhưng được khuyến nghị) Nhấp đúp chuột vào tập lệnh Bumpnoop Dump, trên màn hình nền. Nó sẽ bắt đầu thu thập dữ liệu Bluetooth để phân tích sau. Không đóng cửa sổ thiết bị đầu cuối.
  • Chuyển tai nghe sang chế độ ghép nối;
  • Nhấp vào mũi tên ở góc trên cùng bên phải, chọn biểu tượng Bluetooth → Cài đặt Bluetooth;
  • Chọn tai nghe của bạn, đợi cho đến khi ghép xong và đóng cửa sổ;
  • Đặt âm lượng Ubuntu khoảng 2/3. Cũng giảm âm lượng bằng các nút tai nghe vì nó có thể rất to sau khi ghép nối.
  • Mở thư mục nhạc Music, chơi thử testrecord1.flac
  • (tùy chọn nhưng được khuyến nghị) Đóng trình phát, đóng cửa sổ đầu cuối. Điều này sẽ dừng thu thập dữ liệu.
  • (tùy chọn nhưng được khuyến nghị) Mở trình duyệt Firefox, tải dữ liệu kết xuất (btsnoop_hci.btsnoop trên máy tính để bàn) lên //btcodecs.valdikss.org.ru/

Bạn có thể nghe nhạc khác trong thư mục nhạc hoặc tải lên nhạc của riêng bạn;

Không được có tiếng kêu, ngắt âm thanh hoặc biến dạng âm thanh khác trong tai nghe. Nếu bạn nghe thấy âm thanh chất lượng cao tốt, điều đó có nghĩa là tai nghe của bạn hỗ trợ âm thanh với tốc độ bit là 485 kbps.

Cách kiểm tra trên thiết bị Android

Để kiểm tra từ điện thoại thông minh hoặc máy tính bảng Android, bạn cần sử dụng ngăn xếp Bluetooth đã được sửa đổi, yêu cầu quyền root.

Cách chụp kết xuất dữ liệu Bluetooth trên Android

  1. Tắt Bluetooth;
  2. Trong Cài đặt dành cho nhà phát triển, hãy bật công tắc Nhật ký kích hoạt Bluetooth HCI
  3. Bật Bluetooth, kết nối với tai nghe của bạn bằng menu Bluetooth (điều này rất quan trọng! Không cho phép kết nối tự động!);
  4. Chơi mẫu âm thanh ngắn;
  5. Mở cài đặt dành cho nhà phát triển, vô hiệu hóa công tắc Nhật ký kích hoạt Bluetooth HCI
  6. Cần có / st Storage / emulation / 0 / btsnoop_hci.log hoặc /data/misc/bluetooth/logs/btsnoop_hci.log được tạo. Nếu nó bị thiếu, hãy mở /etc/bluetooth/bt_stack.conf bằng trình chỉnh sửa văn bản và xem đường dẫn trong tùy chọn BtSnoopFileName.

Không được có tiếng kêu, ngắt âm thanh hoặc biến dạng âm thanh khác trong tai nghe. Nếu bạn nghe thấy âm thanh chất lượng cao tốt với thư viện được vá, điều đó có nghĩa là tai nghe của bạn hỗ trợ âm thanh với tốc độ bit 512 kbps.

Hãy cẩn thận làm theo các thuật toán ở trên. Đặc biệt, nếu bạn tắt tai nghe hoặc ngắt kết nối sau khi ghép nối, điều quan trọng là kết nối với tai nghe theo cách thủ công từ cài đặt Bluetooth, không cho phép kết nối tự động!

Các thiết bị hỗ trợ ít nhất 512 kbit / s SBC

  • 1MORE iBFree
  • JBL Everest 310
  • JBL Everest 700
  • Sọ 3
  • Sony WI-C400
  • Sony MDR-1ABT
  • Sony MDR-ZX770BT
  • Sony MDR-XB650BT
  • Sony MDR-XB950B1
  • Sony SBH50
  • Bluedio T4s (Bitpool max 39. Đáp ứng không hỗ trợ Kênh đôi, nhưng hoạt động nếu bị ép buộc, 462 kbit / s. Không phù hợp với thông số kỹ thuật của A2DP.)
  • Bluedio T5 (Trả lời không hỗ trợ Kênh đôi, nhưng hoạt động nếu bị ép buộc. Không tuân thủ thông số kỹ thuật của A2DP.)
  • Bluedio T6 (Đáp ứng không hỗ trợ Kênh đôi, nhưng hoạt động nếu bị ép buộc. Không phù hợp với thông số kỹ thuật của A2DP. Áp dụng chip Max 97220.)
  • Marshall Major II Bluetooth
  • Overdrive RealForce D1
  • Trình chỉnh sửa W830BT
  • DEXP BT-250
  • Bộ chuyển đổi BT Logitech
  • Bộ phận đầu ô tô Noname (chip CSR8645)
  • Bộ phận đầu ô tô Sony DSX-A400BT

Các thiết bị hỗ trợ SBC cao hơn 512 kbit / s

  • JBL Everest 310 (617-660 kbit / s)
  • Sony WI-C400 (576 kbit / s)
  • Sony MDR-ZX770BT (617-660 kbit / s)
  • Marshall Major II Bluetooth (617-660 kbit / s)
  • Overdrive RealForce D1 (730 kbit / s, kênh đôi, 4 băng con)

Các thiết bị không hoạt động với tốc độ bit cao hơn hoặc Kênh đôi

  1. Harper HB-202 (bánh quy; chip Beken BK3256)
  2. Sony Ericsson MW600 (méo tần số cao, máy bẻ khóa; thiết bị từ năm 2009)

Tại sao điều này lại quan trọng: SBC 328k và 485k so với aptX

Trái với niềm tin phổ biến về chất lượng âm thanh aptX, trong một số trường hợp, nó có thể tạo ra chất lượng âm thanh kém hơn SBC với bitrate tiêu chuẩn 328k.

SBC tự động phân bổ các bit lượng tử hóa cho các dải tần số, hoạt động trên cơ sở cơ bản từ dưới lên trên đỉnh. Nếu toàn bộ tốc độ bit được sử dụng cho các tần số thấp hơn và trung bình, thì các tần số cao hơn sẽ bị cắt đứt (im lặng).

aptX định lượng các dải tần số có cùng số bit liên tục, điều này làm cho nó trở thành một codec tốc độ bit không đổi: 352 kbps cho 44, 1 kHz, 384 kbps cho 48 kHz. Nó không thể chuyển bit bit vào các tần số mà hầu hết là cần thiết trong chúng. Không giống như SBC, aptX sẽ không cắt giảm tần số, nhưng sẽ thêm nhiễu lượng tử hóa cho chúng, làm giảm dải động của âm thanh và đôi khi tạo ra tiếng kêu. Ngược lại, SBC lại ăn những chi tiết khác - loại bỏ những khu vực yên tĩnh nhất.

Trung bình, so với SBC 328k, aptX tạo ra ít biến dạng hơn trong âm nhạc với dải tần số rộng, nhưng trên âm nhạc có dải tần số hẹp và dải động rộng SBC 328k đôi khi chiến thắng.

Hãy để chúng tôi xem xét một trường hợp đặc biệt, một bản ghi âm piano. Đây là một quang phổ:

Năng lượng nhiều nhất nằm ở tần số 0-4 kHz và kéo dài tới 10 kHz.

Biểu đồ phổ của tệp aptX trông như thế này:

Đây là SBC 328k:

Có thể thấy rằng SBC 328k định kỳ cắt hoàn toàn phạm vi trên 16 kHz và sử dụng tất cả các bitrate có sẵn cho các phạm vi dưới giá trị này. Tuy nhiên, aptX đã giới thiệu nhiều biến dạng hơn vào phổ tần số có thể nghe được bằng tai người, có thể nhìn thấy trên phổ phổ gốc bị trừ từ phổ aptX (càng sáng, càng méo):

Trong khi SBC 328k đã giới thiệu ít biến dạng hơn, tín hiệu trong phạm vi từ 0 đến 10 kHz và phần còn lại đã được xem xét:

Bitrate 485k cho SBC là đủ để lưu toàn bộ dải tần, mà không cắt các dải.

SBC 485k trên mẫu âm thanh này tốt hơn nhiều so với aptX trong phạm vi 0-15 kHz và với sự khác biệt nhỏ hơn nhưng vẫn đáng chú ý - ở mức 15-22 kHz (càng tối, độ méo càng ít):

Chuyển sang SBC tốc độ bit cao, bạn sẽ có được âm thanh vượt trội so với aptX hầu hết thời gian, trên bất kỳ tai nghe nào.

  • gốc_and_aptx.zip
  • sbc.zip

Cách sửa đổi ngăn xếp Bluetooth trên Android 5 - 7

Những sửa đổi này nên được áp dụng cho các ngăn xếp bluetooth Android Bluedroid (Android 5) và Fluoride (Android 6-7). Ngăn xếp sửa đổi Qualcomm không được hỗ trợ.

Thay thế Âm thanh chung bằng Kênh đôi trong cấu hình SBC tiêu chuẩn

android / nền tảng / bên ngoài / bluetooth / bluedroid / btif / co / bta_av_co.c: 99

Mã số:

 const tA2D_SBC_CIE btif_av_sbc_default_config = {BTIF_AV_SBC_DEFAULT_SAMP_FREQ, / * samp_freq * / A2D_SBC_IE_CH_MD_JOINT, / * ch_mode * / A2D_SBC_IE_BLOCKS_16, / * block_len * / A2D_SBC_IE_SUBBAND_8, / * num_subbands * / A2D_SBC_IE_ALLOC_MD_L, / * alloc_mthd * / BTA_AV_CO_SBC_MAX_BITPOOL, / * max_bitpool * / A2D_SBC_IE_MIN_BITPOOL / * min_bitpool * /}; 

Thay thế A2D_SBC_IE_CH_MD_JOINT bằng A2D_SBC_IE_CH_MD_DUAL.

Tăng mức độ ưu tiên của Kênh đôi

android / nền tảng / bên ngoài / bluetooth / bluedroid / btif / co / bta_av_co.c: 4

Mã số:

 if (src_cap.ch_mode & A2D_SBC_IE_CH_MD_JOINT) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_JOINT; khác if (src_cap.ch_mode & A2D_SBC_IE_CH_MD_STEREO) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_STEREO; khác if (src_cap.ch_mode & A2D_SBC_IE_CH_MD_DUAL) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_DUAL; khác if (src_cap.ch_mode & A2D_SBC_IE_CH_MD_MONO) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_MONO; Di chuyển nếu với A2D_SBC_IE_CH_MD_DUAL lên đầu. 
  1. Vô hiệu hóa hoặc tăng hạn chế bitrate

Android bluetooth stack không chỉ giới hạn bitpool, mà còn giới hạn bitrate, 328 kbit / s. Nếu tai nghe hỗ trợ, ví dụ, bitpool 53 cho 48 kHz, Android sẽ giảm bitpool xuống để phù hợp với giới hạn 328 kbit / s. Điều này sẽ xảy ra khi đàm phán codec SAU, trong giai đoạn mã hóa, không tính đến giá trị bitpool trong gói Bluetooth SetCapabilities.

android / nền tảng / bên ngoài / bluetooth / bluedroid / btif / src / btif_media_task.c: 172

Mã số:

 #define DEFAULT_SBC_BITRATE 328 

Thay thế bằng 512.

  1. (chỉ dành cho thử nghiệm) Vô hiệu hóa giới hạn MTU.

Điều này là cần thiết cho bitrate cao hơn ~ 580 kbit / s.

btif / src / btif_media_task.c: 174

Mã số:

 / * Kích thước tải trọng 2DH5 là 679 byte - (Tiêu đề L2CAP 4 byte + Tiêu đề AVDTP 12 byte) * / #define MAX_2MBPS_AVDTP_MTU 663 

Cách sửa đổi ngăn xếp Bluetooth trên Android 8 - 9

Những sửa đổi này chưa được thử nghiệm, nhưng sẽ hoạt động.

Thêm hỗ trợ Kênh kép vào Nguồn SBC A2DP

/ pl platform / system / bb / stack / a2dp / a2dp_sbc.cc: 55

Mã số:

 . 

thêm A2DP_SBC_IE_CH_MD_DUAL trong ch_mode.

Thay thế Âm thanh chung bằng Kênh đôi trong cấu hình mặc định

/ pl platform / system / bb / stack / a2dp / a2dp_sbc.cc: 82

Mã số:

 / * Mặc định SBC cấu hình bộ giải mã * / const tA2DP_SBC_CIE a2dp_sbc_default_config = {A2DP_SBC_IE_SAMP_FREQ_44, / * samp_freq * / A2DP_SBC_IE_CH_MD_JOINT, / * ch_mode * / A2DP_SBC_IE_BLOCKS_16, / * block_len * / A2DP_SBC_IE_SUBBAND_8, / * num_subbands * / A2DP_SBC_IE_ALLOC_MD_L, / * alloc_method * / A2DP_SBC_IE_MIN_BITPOOL, / * min_bitpool * / A2DP_SBC_MAX_BITPOOL, / * max_bitpool * / BTAV_A2DP_CODEC_BITS_PER_SAMPLE_16 / * bits_per_sample * /}; 

Thay thế A2DP_SBC_IE_CH_MD_JOINT bằng A2DP_SBC_IE_CH_MD_DUAL.

Tăng mức độ ưu tiên của Kênh đôi

/ pl platform / system / bb / stack / a2dp / a2dp_sbc.cc: 1155

Mã số:

 bool tĩnh select_best_channel_mode (uint8_t ch_mode_mode_m p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; trả lại đúng sự thật; } if (ch_mode & A2DP_SBC_IE_CH_MD_STEREO) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_STEREO; p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; trả lại đúng sự thật; } if (ch_mode & A2DP_SBC_IE_CH_MD_DUAL) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_DUAL; p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; trả lại đúng sự thật; } if (ch_mode & A2DP_SBC_IE_CH_MD_MONO) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_MONO; p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_MONO; trả lại đúng sự thật; } trả về sai; } 

Di chuyển nếu với A2DP_SBC_IE_CH_MD_DUAL lên đầu.

Tăng giới hạn bitrate

/ pl platform / system / bt / stack / a2dp / a2dp_sbc_encoder.cc: 42

Mã số:

 #define A2DP_SBC_DEFAULT_BITRATE 328 

Thay thế bằng 512.

  1. (chỉ dành cho thử nghiệm) Vô hiệu hóa giới hạn MTU

Điều này là cần thiết cho bitrate cao hơn ~ 580 kbit / s.

/ pl platform / system / bb / stack / a2dp / a2dp_sbc_encoder.cc: 47

Mã số:

 #define MAX_2MBPS_AVDTP_MTU 663 

Ngăn xếp Bluetooth được vá (Flashable)

  • Le Max 2 Oreo Patched.zip
  • Bộ đổi mát LeEco S1 EUI_5.8.19S.zip
  • Leeco LE2 (EUI 5.9, 26, Android 6) .zip
  • Xiaomi Mi Note (Miui 9 Miui.su usnkreal v8.4.12, Android 6.0.1) .zip
  • Xiaomi mi note 3 (MIUI 9, Android 7) .zip
  • Xiaomi Mi4c (Android 7.0 NRD90M, MIUI-9.5 9.5.1.0 (NXKCNFA)).
  • Xiaomi MI5s (MIUI Toàn cầu 9.6.1.0, Android 7) .zip
  • Xiaomi Redmi 3s (android 6.01, mmb29m, miui toàn cầu 9.6.1.0) .zip
  • Xiaomi Redmi 4 (MiuiPro 10 8.8.2, Android 6.0.1, MMB29M) .zip
  • Xiaomi Redmi 4 Prime.zip
  • Xiaomi Redmi 4 pro (MIUI 9, miuipro 8.4.26) .zip
  • Xiaomi Redmi Note 3 (Resurrection Remix Android 7.1.2_r36) .zip
  • Redmi Note 4x (Masik Premium, android 7.0) .zip
  • Asus Zoom (Android 5, 2.26.40.108_20160520) .zip
  • Le Max 2 Oreo Patched.zip
  • Huawei P9 (Android 7) .zip
  • Samsung Galaxy S4 LTE GT-I9505 (Android 7.1.2; LineageOS 14.1-20180615-NIGHTLY-jfltexx) .zip
  • khóa kéo
  • Le Max 2 Oreo Patched.zip

Bài ViếT Thú Vị