NexusOne USB host mode - Đọc USB, bàn phím, chuột, gamepad (Update)
tphuc_ibc
10 nămBình luận: 124
Sau bài viết "Motorola Xoom đọc USB như N8, hi vọng tất cả android device đều sẽ có" của bạn LamDucThien, mình rất hi vọng ngoài máy tính bảng android, những dòng đt android cũng có thể thực hiện được vụ này. Và mình đã bắt đầu tìm hiểu.

Sau 2 tuần miệt mài, cuối cùng mình cũng đã làm thành công usb host mode cho điện thoại google nexus one chạy rom 2.1 trở lên. Với usb host mode, mình đã có thể dùng bàn phím usb, chuột không dây usb và đọc được file trong usb của mình. Những thứ khác như gamepad, xem tivi, soundcard, ... mình chưa có cơ hội thử vì ko có đủ phần cứng.

Show hình cho các bác coi chơi: (Hình chụp buổi tối bằng con storm cùi bép nên hơi xấu nha)

[​IMG]
Đã cập nhật thêm cục pin, từ nay dùng usb host mode không cần phải cắm điện nữa


[​IMG]
Hiện nay đã đọc và dùng được thành công chuột, bàn phím, usb, gamepad


[​IMG]
Cục pin 2800mah cấp điện cho toàn bộ các thiết bị usb và sạc cho Nexus one


[​IMG]
Sau khi cài xong sẽ có thêm con chuột trên điện thoại như trên máy tính bình thường, chuột phải tương đương với nút back, chuột giữa tương đương với nút menu

[​IMG]
Nạp driver vào máy

[​IMG]

[​IMG]


[​IMG]

[​IMG]

Còn đây là video dùng chuột không dây với con Nexus one của mình (lúc đầu cứ nghĩ phải là chuột dây nó mới nhận, ai ngờ cắm chuột ko dây vào nó chạy lun):



Tổng chi phí để làm USB host mode:


  • USB hub 7 port dùng điện 220V: 450k (Dùng để cấp điện cho các thiết bị USB như USB, bàn phím, chuột, ... và dùng song song nhìu thiết bị usb cùng lúc)
  • Cáp dual power: 20k (Dùng để tiếp điện cho hub chip và sạc trong khi dùng host mode cho N1)
  • Cáp OTG: 180k (Dùng để chuyển từ cổng micro-USB ra USB)
Phần mềm


Để làm được host mode cho N1, cần phải thay đổi kernel của bản rom đang dùng, nhưng khi dùng như vậy, thì những thứ sau đây sẽ ra đi: wifi, camera... Mình đang tìm cách khắc phục.
Ngoài ra cần có drivers dùng cho các thiết bị cần gắn vào như usb, bàn phím, chuột... sau khi flash kernel xong, ta load các modules driver vào trong hệ điều hành và ... tự nhiên nó chạy =))

Về việc đọc USB thì nó sẽ mount cái USB của mình lên thư mục mình quy định trên thẻ nhớ, mình đang tìm hiểu và chưa rõ là nó copy file lên thư mục đó hay là cái mình đang nhìn thực chất là của usb nữa.

Hnay làm bài review host mode cho zui thui, bữa nào có thời gian mình sẽ làm bài hướng dẫn cụ thể.

Với lại ở nhà ko có máy chụp hình, nên ko chụp rõ được, nếu được bữa nào ra café tinhte nhờ các bác ở đó chộp hình hộ để làm bài review khác cho nó tốt hơn.

Bonus thêm cái chân đế mới làm và windows 95 chạy trên Nexus one, mình đã cài được win 95, 98 và ubuntu lên N1 rồi ^^

[​IMG]
Cái chân đế mới tìm ở phố cổ Hà Nội =))

[​IMG]
Win95 đã được cài thành công, boot vào win cũng khá nhanh

[​IMG]
Mọi chức năng của win đều dùng được trừ vụ bấm ... chuột phải 😔
bạn hay thật đấy? nhưng làm như thế thì vất vả lắm vì ko áp dụng rộng rãi với tất cả các thiết bị chạy android được. Nhu cầu của mình chỉ cần được như N8 là ok rồi, 1 dây nối usb với đt rồi dùng phần mềm quản lý trên đt để copy, paste hay chuyển qua lại được. Hi vọng google sẽ để ý phần này vì symbian^3 đã là được và rất tiện dụng. ý tưởng của mình đơn giản như là: có 1 soft trên android market chỉ cần cài nó + mua 1 cáp OTG rồi là xài được
Về ý tưởng của bạn thì mình xin khẳng định là không thể làm được trên các đt android hiện nay, vì phần cứng của nó ko hỗ trợ việc cung cấp điện năng cho các thiết bị USB khác, nên mình phải có thêm Hub usb cắm điện và sợi cáp tiếp điện nữa mới làm được.
Còn với con N1 của mình thì ngoài việc đọc USB nó còn nhận được cả chuột và bàn phím và nhìu cái khác nữa (miễn là có cổng USB và tìm được driver thích hợp dành cho linux). Không biết N8 có nhận được các thiết bị khác ko vì mình chưa có xài wa bao giờ ^^
jacky1590
ĐẠI BÀNG
10 năm
Trên cái Archos chạy Android cũng có sẵn cổng để cắm Usb rồi mà bạn. Khi cắm USB vào thì cái Archos nhận như là 1 thẻ nhớ thôi.
Cái này mình xin phản đối cái khẳng định của bạn 1 chút 😃
Về mặt lý thuyết tất cả các dây USB đều có 2 đây nguồn +/- và 2 dây này theo đứng lý thuyết là có 2 chiều ( cả cung và dùng nguồn )
Cách này giống như cách làm với HDH MAEMO và thiết bị N900 nên việc sử dụng các thiết bị mà ko cần phải qua HUB cấp nguồn là hoàn toàn có thể !
Bạn có thể kiểm chứng việc này bằng thông tin về USB 2 dây Data+/Data- và 2 dây nguồn +/-
Chúc anh em Android sớm có HOSTMODE giống MAEMO 😃
phonghoa
ĐẠI BÀNG
9 năm
sao bạn lại nghĩ là không được? mình đã từng làm 1 cái cáp USB OTG cho S2, và không cần cấp nguồn, cắm USB chuột, chuọt không dây, bàn phím dùng bình thường. Mình chỉ đang phân vân vụ cắm nhiều thiết bị một lúc thôi, nếu có đk kiếm được cái cổng USB host thì sẽ thử xem sao, hiện giờ khi cắm 2 thiết bị vào thì điện thoại k nhận ra, còn cắm 1 thiết bị thì dùng bt
android_bar
ĐẠI BÀNG
10 năm
Thật là tuyệt, không ngờ là làm được thật
Giải quyết được vấn đề cấp nguồn cho thiết bị ngoại vi lấy từ nguồn của đt luôn là wá tốt! Có thêm thức năng này thì Android đích thực là siêu smartphone OS 😁
bạn này chăc thiên tài mới nghĩ dc cái này đây thank bạn nha
Hiện tại thì mình nghĩ chỉ có thể cấp điện ngoài cho các thiết bị ngoại vi thôi chứ chưa thể dùng trực tiếp từ nguồn của đt vì một số thiết bị như hdd di động đòi dòng điện đủ mạnh mới hoạt động ( như cái hdd box của mình phải cắm đến 2 cổng usb mới chạy ) Ngoài ra thì phần cứng của các đt hiện giờ (Theo mình biết) thì chưa thể làm nổi chuyện này.

Mình ko phải thiên tài đâu bạn, chẳng qua là mình đang làm luận văn tốt nghiệp liên wan đến android nên mới tìm hiểu một chút thôi, với lại cách làm này là của 1 anh chàng người Đức(chắc cũng là Lập trình viên) nghĩ ra, vì nhân android được viết dựa trên linux, nên khi thay đổi kernel của android thì có thể chạy được các driver của thiết bị ngoại vi dùng cổng usb.
Thật ra thì nhu cầu của đa số người dùng ko cần thiết đến nỗi dùng HDD box đâu, cái HDD box cắm vào PC còn phải cắm 2 cổng USB mới chạy nổi mà, nói chi là đt, mình nghĩ với nhu cầu của đại đa số người dùng thì chỉ có 1 cái quan trọng nhất: đọc USB flash driver, cái đó có cái mạch tí tẹo nên chắc ko hao điện lắm, mình nhớ là bên WM 6.5 cũng có người làm driver để đọc USB, sử dụng phím, chuột và cả cái gamepad trên WM 6.5.
btw, đánh giá cao dự án này, chờ tin tức mới của bác 😁
bakery00
TÍCH CỰC
10 năm
hình như bác lấy ý tưởng từ con HD2 phải k,trc mình cũng từng xem con HD2 trình diễn như thế,nhưng chưa thấy ng VN làm bao h,khâm phục bác đấy ^___^
ủng hộ bác nối : mouse, kb, usb flash, game pad là ok rùi. khỏi hdd box làm j.
vậy thì thêm 1 cục bé tí cấp nguồn cho USB nưã là ổn, ko biết N8 symbian nó làm sao vậy ta
junoxien
TÍCH CỰC
10 năm
Hay thật 😁
Mỗi tội lằng nhằng quá :D
Mình đã nghiêng cứu đề tài này, vì thấy N8 có chức năng này hay quá, nhưng rõ ràng là phần cứng của android phone đáp ứng ko được nhu cầu này, nguyên nhân chủ yếu là thiếu áp tại cổng Micro USB , Điều này có thể khắc phục bằng cách cách ly nguồn cổng micro Usb hiện tại và câu 1 cộng dây đồng từ chính nguồn chính cấp cho điện thoạiv (mình chưa thử và cũng ko dám thử, nhưng chắc chắn sẽ ko ổn định vì làm sụt áp nguồn CPU sẽ gây treo máy) . N8 làm được vì có 1 khối IC công suất riêng biệt cho cổng USB , các hãng khác ngoài nokia có lẽ chưa nghĩ đến việc này.

Dù sao cũng chúc mừng cún..........................
Cho dù là nối gì đi nữa thì vẫn phải dùng nguồn phụ nên nối được càng nhìu càng tốt 😁

Mình đang test thử việc cung cấp nguồn bằng cục pin 2800mAh của mình, nếu được thì có thể dùng di động mà ko cần phải cắm điện.

Lằng nhằng là tại vì bản thân phần cứng của đt android nó ko có hỗ trợ vụ usb host mode này, nên muốn làm được thì phải ... lằng nhằng .

Thì cách làm này là mình chủ động cấp nguồn cho cả device USB vừa cấp nguồn cho thằng N1, sau đó chỉ cần cài driver và chạy thui 😃
mình biết, nhưng ăn nhau la ở chỗ OTG
Mình chưa hiểu ý bạn lắm, ý bạn là chỉ dùng mỗi sợi cáp OTG thôi hả, mình nghĩ chắc ko được đâu, trên xda có 1 bạn đã làm được USB host mode mà ko cần dùng cáp dual power. Mình đang tìm hiểu để cho nó càng đơn giản càng tốt.
ko biết mấy cái máy tính bảng anchor sao nó làm được heng chứ cái nào cũng mắc sửa kênl thì mệt lắm
OTG tức là On The Go.
tiện thể bác thử test hộ em cái driver cuả mấy cái usb3g thông qua cổng usb host với , em đang quan tâm cái đó mà chưa thử được
emptyzero91
ĐẠI BÀNG
10 năm
không hiểu cắm cái usb 3g roài đt xài được nhiêu lâu, thay vì vậy thì bác suy nghĩ xài sim dcom 3g + apn: e-connect cho nó lành :sleep:
mình ko biết anchor nó làm sao vì hem có cái đó, mà kernel thì cũng có thể của thằng máy tính bảng đã hỗ trợ sẵn, khỏi phải sửa lun...

Mình cũng ko có usb 3G nào để thử và cũng ko tìm ra driver dành cho linux của nó luôn. nhưng mà đt có thể cắm sim 3G mà, dùng thêm cái usb 3G mình thấy tốn pin thôi chứ làm gì.
hỏi bác thế vì có người setup usb 3g cho mấy em máy tính bảng china ok rồi mà , nếu làm được em setup cho chú xoom ko có 3g 😁
Con N8 của e cũng đc bác ạ .... :p

---------- Post added at 08:14 PM ---------- Previous post was at 08:13 PM ----------

Con N8 của e cũng đc bác ạ .... :bounce::bounce::bounce::bounce::bounce:
titixd
ĐẠI BÀNG
10 năm
vụ này của bác hay nhỉ ý tưởng rất khả thi.vấn đề nguồn điện cho usb e nghĩ là lấy ở jack tai nghe được không vì e thấy cắm cả cái tai nghe to đùng vào điện thoại nó vẫn nghe tốt mà.Không biết có được không(e không phải dân lập trình cũng không phải dân điện tử nhé).còn cái vụ usb 3g thì nó hỗ trợ cả linux mà
Mình nghĩ chắc là không được đâu bạn ơi, hơn nữa, dù lấy điện ở đâu trên đt mình nghĩ đều làm giảm tuổi thọ của máy, vì nó vốn không được thiết kế để làm như vậy mà...
Không bao giờ được vì Jack tai nghe có điện nhưng là điện dạng Analog, Hiểu đơn giản là Điện nhập nhằng theo tiếng nhạc, Có nhạc thì có điện không nhạc thì tịt điện !
các bác làm USB host mode - Đọc USB, bàn phím, chuột, gamepad này thì chơi game nova + modem combat 2 + game bia 2 t= thì vô đối rùi như máy tính òi
vậy thì chế cái OTG ở đầu ra USB có thêm 1 chỗ gắn cục pin 9V cấp nguồn cho cái USB thì được ko nhỉ?
Cá nhân
Bạn
Hi bạn!
Điểm Reward Store: 
Tuổi Tinh tế: 
Cấp độ thành viên Tinh Tế


Tải app Tinh tế

Tải app Tinhte - Theo dõi thông tin mà bạn yêu thích

Tải app TinhteTải app Tinhte
Tải app Tinh tế cho Android trên Google PlayTải app Tinh tế cho iPhone, iPad trên App Store






  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2021 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: 209 Đường Nam Kỳ Khởi Nghĩa, Phường 7, Quận 3, TP.HCM
  • Số điện thoại: 02862713156
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019