Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Những ai đã từng đi bộ trong mưa thì chắc chắn cũng từng trải nghiệm cảm giác về cái lạnh. Cũng vậy, khi bạn tự cho mình là dân chơi HTPC thứ thiệt thì sẽ không ít lần đối mặt đến vấn đề “mất kết nối” khi sử dụng cáp HDMI nối với TV hoặc AVR. Cái bịnh này có cái tên tiếng Anh rất phổ biến là HDMI handshake issues.

Có người thay đổi màn hình, có người update bios mới cho mobo, thay driver mới nhất cho card VGA, có người cố thử thay đổi trình tự bật máy, tuy nhiên kết quả vẫn không thay đổi hoặc lúc được lúc không rất khó chịu, bực mình. Dĩ nhiên là ở đây sau khi ta đã loại trừ các nguyên nhân về cáp HDMI bị hư, lỏng, hoặc một số driver của card vga chỉ nhận được màn hình khi màn hình phải bật điện trước khi khởi động HTPC.

Vấn đề mất kết nối HDMI thường được thấy trên các HTPC chạy trên Windows khi máy được mở lên lại từ chế độ chờ (sleep) hoặc đôi khi cả từ một trạng thái tắt. Vấn đề người dùng thường gặp có thể là, hoặc không có video, hoặc không có âm thanh, hoặc kết hợp cả hai khi khởi động cái HTPC của bạn. Nguồn gốc của vấn đề được cho là khi HTPC của bạn được cấp điện để hoạt động lại thế nhưng kết nối HDMI lại không thể tự nó thiết lập thành công sự kết nối với đầu bên kia (TV, AVR, ...) Nói cho dễ hiểu thì HTPC và TV hoặc AVR phải bắt tay (handshake) được với nhau (nhận ra nhau) thông qua sợi dây HDMI thì chúng mới làm việc cùng nhau được phải không ạ? Nếu bạn dùng dây DVI thì không gặp trường hợp này. Thế cơ chế để nhận ra nhau thông qua cọng dây HDMI là gì thì đó chính là Extended Display Information Data (thông tin trao đổi nhận diện giữa màn hình và nguồn phát) thường được viết tắt là EDID.Bạn có thể tham khảo thêm tại đây.

Một khi mà cái máy HTPC được bật lên từ trạng thái “ngủ” trong khi cái video card của bạn vẫn còn mê “ngủ” không chịu dậy hoặc vì một lý do nào đó nó bị quờ quạng không nhận được EDID từ đầu kia, khi đó bạn sẽ thấy hoặc là cái màn hình đen thui hoặc là xuất hiện chữ “No signal” đáng ghét trên màn hình. Vậy thì sửa lỗi này bằng cách nào đây?

Ở đây tôi xin nói hơi ngoài lề một chút. Những ai từng xài qua HTPC thường có cảm giác này. HTPC nó gần giống như một thứ bùa ngải, vừa xa vừa gần. Vừa xa vừa gần là ở chỗ, so với các loại đầu digital media player, nó có những cái lỗi kỳ quặc khác người nhưng đồng thời nó lại cuốn hút ta lao đầu vào tìm tòi và lập ra cách thức sửa chữa rất đặc thù. Và cũng từ những cái thú như vậy nó cuốn hút người ta như một loại bùa ngải mà không thể giải thích được.

Phần I. Công cụ Devcon

Một trong những phương cách mà bạn cần có để sửa lỗi HDMI handsake đó chính là DEVCON.
Bạn vào website của Mircosoft tại đây để tải về file devcon.exe

DevCon là một dòng lệnh tiện ích mà Microsoft tạo ra để cung cấp cho bạn một chức năng tương tự như một Device Manager. Sau khi giải nén file exe vừa tải về, bạn sẽ thấy nó gồm cả hai folder ia64 và i386 (đó là những gì bạn có thể sẽ cần). Một khi bạn xác định một trong những file bạn cần, tôi đề nghị đặt nó (file devcon.exe trong folder i386) vào trong thư mục% SYSTEMROOT% (thường là C:\Windows\System32 ở Windows 8 hay C:\Windows ở Window 7) để khi bạn viết file batch nó sẽ gọi file devcon.exe lên để thực thi. Coi như xong phần đầu.

Phần II. Viết batch file

Hướng sắp tới chúng ta sẽ làm là tạo một batch file để khi chúng ta đánh thức cái HTPC dậy thì cái batch file ấy sẽ tự động làm nhiệm vụ là nắm đầu thằng vga card mà dựng dậy bắt làm việc dù cho nó có muốn hay không vì còn ngái ngủ. Nhưng trước tiên ta phải xác định xem thằng vga card là thằng nào con cái nhà ai trước cái đã rồi mới nói chiện nắm trúng đầu nó được.

Dùng file DevCon thôi. Như tôi đã nói lúc đầu, DevCon là một lệnh tiện ích (command line utility), do đó mình sẽ dùng DevCon là xác định ID của card đồ họa hiện tại. Mở hộp command line với quyền quản trị, tại dấu nhắc lệnh, gõ:

devcon listclass display

Xem hình

14996780068_8508bd07df_b.jpg


Nếu bạn quen đọc kết quả từ một dòng lệnh thì chẳng nói làm gì, còn nếu không thì bạn chỉ cần “mò” từ từ từng dòng một cho đến khi bắt gặp chữ VEN_ và liền sau đó là 4 con số hexa thì lấy tờ giấy cây viết ra ghi xuống liền. Ví dụ như của tôi là VEN_8086
Sau khi đã điểm mặt được thằng vga card, bạn sẽ bắt đầu viết file batch. Nói là viết batch cho nó oai chứ thật ra nó cũng chỉ có vài dòng cụt lủn như cái quần short của mấy cô em người mẫu thôi.

Tạo Batch Script

Đầu tiên là bạn mở CT Notepad ra rồi copy y xì mấy cái dòng lệnh dưới đây vào nó:

@ echo off
Sleep 5
devcon restart =display *ven_8086*
sleep 3
exit


Lưu ý ở đây là bạn đừng quên thay cái chữ ven_8086 (chính xác là thay 4 chữ số hexa) bằng cái vga card ID của bạn mà hồi nãy bạn đã ghi xuống nha.

Bây giờ là lúc chọn lưu cái file batch này lại. Đầu tiên bạn phải thay Save as type: thả xuống để chọn tất cả các tập tin (*. *), sau đó bạn tự đặt tên cho file này và chọn đuội file (phần mở rộng) là .bat nha

Lưu nó vào một nơi an toàn ít bị xóa nhầm, nhưng hãy nhớ nó ở đâu nữa nhé.

Xong, đến phần cuối cùng là làm sao để khi máy vừa thức đậy thì biết mà chạy cái file batch này.


Phần III. Tạo Scheduled Task

Ở đây, chúng ta sẽ tạo ra một tác vụ mà theo đó mỗi khi máy được mở lên tục từ chế độ chờ thì nó sẽ âm thầm thực thi file batch mà chúng ta vừa tạo.


Mở Task Scheduler: Control Panel -> Administrative Tools -> Task Scheduler

15183132542_596f04d490_b.jpg



Mở giao diện Task Scheduler , click on tab “Action”. Sau đó nhấn vào “Create Basic Task“

15160507196_96cb4efe75_b.jpg



Ở màn hình Create Basic Task Wizard, đặt tên cho tác vụ của bạn và mô tả nó (cái này tùy chọn), sau đó nhấn Next.

14996955468_2dd185f26f_b.jpg



Bây giờ chúng tôi đang ở phần kích hoạt tác vụ. Bởi vì chúng ta muốn thực thi tác vụ mỗi khi ta khởi động máy tính lại. Do đó chọn tùy chọn ở hàng cuối cùng là “When a specific event…” và sau đó nhấn Next.

14996778209_4d7b175855_b.jpg



Màn hình tiếp theo là chúng ta chọn trường hợp cụ thể khi nào thì chạy file batch.
Đối với log: chọn System (cuối danh sách).
Đối với nguồn (Source): chọn Power-Troubleshooter.
Cuối cùng là event ID: nhập 1.
Nhấn Next.

14996784669_ecd183ba19_b.jpg



Bình tĩnh, gần xong rồi. Tiếp theo là khi nào thì lệnh này được thực thi. Ở đây ta cứ để chương trình là thiết lập mặc định, vì vậy chỉ cần kích Next.

14996974098_21718574dd_o.jpg



Tại vì bạn đã chọn chạy một chương trình batch “Start a program” nên màn hình tiếp nó đòi bạn phải chỉ điểm nơi mà bạn đang cất dấu file batch. Nhấn nút Browse và dẫn đến nơi bạn mà cất file batch đã tạo ra trong phần trước. Nhấn Next.

15183567245_748c7590ec_o.jpg



Thế là xong! Bây giờ, trước khi nhấp vào nút Finish, bạn nhớ check vào mục “Opent the properties…”

15180551331_3db1a25718_b.jpg



Nếu HTPC của bạn thường được sử dụng với một acc đặc quyền thấp, bạn có thể cần phải check một cái mark để điều chỉnh khả năng chạy với đặc quyền cao nhất “Run with highest privileges”

15183199952_301841aa5e_b.jpg



Kết luận

Thế là hoàn tất, kể từ bây giờ mỗi khi bạn đánh thức hệ thống của bạn từ chế độ chờ (standby), script file sẽ tự động được máy cho chạy. Đầu tiên cái script file sẽ kiên nhẫn chờ đợi 5 giây để cho bản thân cái máy cũng “tỉnh ngủ” hẳn, sau đó nó sẽ đánh thức (reset) vga card rổi chờ đợi thêm 3 giây nữa để bảo đảm lệnh được thưc thi đầy đủ trước khi nó rút lui. Nói chính xác hơn là nó bằt thằng vga card bắt tay (handshake) lại một lần nữa với cái TV hoặc AVR, thiết lập mối giao tiếp EDID mới để cho bạn sẽ có một giao tiếp HDMI hoàn hảo như thuở ban đầu lưu luyến ấy! Dĩ nhiên bạn cũng có thể lựa chon mình những phương cách khác để phá cái thế bị mất kết nối HDMI như dùng app DevManView hoặc bỏ ra vài chục đô mua cái hộp HDMI Detective Plus, tất cả là tùy ở bạn thôi.

Chúc các bạn may mắn và thành công.

Thanksforsharing @HDVietnam​
 

sircuong1303

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Thanks bác mod vì 1 bài viết hữu ích cho tất cả những a e đang và sắp dùng htpc. Thích nhất là cách giải thích vấn đề rất dí dỏm nhưng dễ hiểu của bác.
 

dungsin_lqd

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

--Em đọc thoáng qua thấy bài viết hơi khó hiểu....phần thì dường như htpc nhà em không có bịnh này...tks
 

ttlinhha

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

--Em đọc thoáng qua thấy bài viết hơi khó hiểu....phần thì dường như htpc nhà em không có bịnh này...tks

Bác đọc thoáng qua mà hiểu đc thì bác mod chả phải mất công viết dài như vậy :D
 
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Em chưa gập trường hợp bị như vậy nhưng đặc biệt thích cách viết của bác luôn chi tiết và tỉ mỉ để mọi người dù hiểu biết nhiều hay ít đều có thể làm theo được.
 

langtu27

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Bài viết hay và khá quan trọng. Thanks bác chủ lần nữa.
 

dungsin_lqd

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Bài viết hay và khá quan trọng. Thanks bác chủ lần nữa.

Bác chủ vừa giỏi công nghệ vừa giỏi hành văn nữa nên lôi cuốn người đoc nhưng có lúc đập vài mắt toàn chữ không cũng ngán....đọc
 

lequynhan

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Em chưa nghịch cái gì nhưng cũng cảm ơn Mod Thank!
 

tungdn_ars

New Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Thế còn trường hợp có hình mà không có tiếng thì sao bác chủ ? Thình thoảng cứ phải khởi động lại mấy lần mà phát nản :)
 

sircuong1303

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Thế còn trường hợp có hình mà không có tiếng thì sao bác chủ ? Thình thoảng cứ phải khởi động lại mấy lần mà phát nản :)


Lỗi này thì bro nên kiểm tra lại xem thiết lập phần sound đã để mặc định là xuất qua HDMI chưa. Nếu rồi, thì do dây HDMI kém chất lượng hoặc kiểm tra lại xem phần đầu cắm HDMI của dây xem đã cắm ngập hết vào cổng HDMI trên main, vga, hdplayer... và TV chưa ạ.
 

tungdn_ars

New Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

mình thiết lập HDMI là mặc định rồi, có khi cắm chưa hết thật, để về cắm chặt lại xem sao.
Mình hỏi thêm là con lap ASUS K55A của mình khi cắm vào tivi sony qua HDMI thì hiển thị full màn, còn khi cắm vào tivi LG thì bị che mất 1 phần xung quanh, đã chỉnh độ phân giải full HD cho tv rồi?
 

viettoanhp

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Ôi bệnh nan y của em đây mà, em chưa thử nhưng bác kỳ công ngồi viết bài hướng dẫn đầy đủ cho anh em thế này thật là có lòng quá, ngàn lần cảm ơn bác.
 

sircuong1303

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

mình thiết lập HDMI là mặc định rồi, có khi cắm chưa hết thật, để về cắm chặt lại xem sao.
Mình hỏi thêm là con lap ASUS K55A của mình khi cắm vào tivi sony qua HDMI thì hiển thị full màn, còn khi cắm vào tivi LG thì bị che mất 1 phần xung quanh, đã chỉnh độ phân giải full HD cho tv rồi?


Bro chỉnh lại chế độ hiển thị trên TV xem có mục quét toàn màn hình hay tương tự như vậy ko là hình ảnh lại full màn tv thui mà.
 

xuanhoaktv

New Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Bài viết rất chi tiết, tks bác chủ (like)
 

viettoanhp

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

sao ở bước 1 em ko tìm thấy thư mục %systemrooot% nhỉ, em dùng win 7 ultimate
 
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

sao ở bước 1 em ko tìm thấy thư mục %systemrooot% nhỉ, em dùng win 7 ultimate

Tùy theo Windows mà thư mục gốc của nó sẽ ở đâu trong ổ C. Do đó người ta dùng %....% để nói chung chứ ko phải là tên cụ thể. Bạn có thể gõ nguyên si cái %...% vào ô run thì sẽ thấy thư mục đó hiện ra, còn lười nữa thì đọc lại hướng dẫn của tôi có nói rõ ràng nếu là Win 7 thì TM đó nằm ở đâu liền.
 

viettoanhp

Well-Known Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Tùy theo Windows mà thư mục gốc của nó sẽ ở đâu trong ổ C. Do đó người ta dùng %....% để nói chung chứ ko phải là tên cụ thể. Bạn có thể gõ nguyên si cái %...% vào ô run thì sẽ thấy thư mục đó hiện ra, còn lười nữa thì đọc lại hướng dẫn của tôi có nói rõ ràng nếu là Win 7 thì TM đó nằm ở đâu liền.
em có đọc kĩ cái hướng dẫn của bác rồi mới mạo muội hỏi bác. EM cũng gõ cả vào run rồi mà ko thấy mới lạ bác ạ *_*
 

drhuy81

New Member
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Em đang dùng đầu phát HD trên xe hơi, cụ thể là Dune HDTV 303D trên. Kết nối với màn hình DVD 7inch ( Pioneer AVH X8650BT ) thông qua cổng và cáp HDMI. Nếu như chơi nhạc lossless thì không vấn đề gì nhưng khi chơi đĩa hình dạng ISO thì mỗi khi mở file có hiện tượng màn hình tối thui vài giây sau đó mới hiển thị trở lại. Em chưa biết khắc phục vấn đề này ra sao, mong các bác giúp em với ạ!
 
Ðề: Khắc phục lỗi "mất kết nối" của dây HDMI khi HTPC phục hồi từ chế độ chờ (standby)

Em đang dùng đầu phát HD trên xe hơi, cụ thể là Dune HDTV 303D trên. Kết nối với màn hình DVD 7inch ( Pioneer AVH X8650BT ) thông qua cổng và cáp HDMI. Nếu như chơi nhạc lossless thì không vấn đề gì nhưng khi chơi đĩa hình dạng ISO thì mỗi khi mở file có hiện tượng màn hình tối thui vài giây sau đó mới hiển thị trở lại. Em chưa biết khắc phục vấn đề này ra sao, mong các bác giúp em với ạ!

Sau này tôi ít chơi đầu HD mà chuyển sang HTPC ko hà, nhưng tôi đồ là về nguyên tắc chúng cũng sẽ như nhau. Đó là khi chơi, nhất là với file ISO, bạn cũng phải cho nó có chút đỉnh thời gian để nó mount cái file ISO rồi nó mới chơi bình thường được.
Trong khoảng thời gian chết này, thằng nào viết chương trình hay nó sẽ cho pop lên cái màn hình "Loading..." để người dùng khỏi bị hồi hộp, thế thôi. Còn nếu bạn thấy người khác có cùng máy giống mình nhưng không bị thì học hỏi họ xem cách sd ntn.
 
Bên trên