2008-12-31 33 views
25

yazılımında kapatın. Windows'taki bir yazılım aracılığıyla bir USB aygıtını çalıştırmak istiyorum.Bir USB aygıtını Windows

Küçük bir USB güç mikroişlemcisi üzerinde geliştirme yapıyorum. Bu yonga, bir güç döngüsü üzerindeki yerel davranışa geri dönecek ve bir kod indirmesine izin verecektir. Cihazım yanlış gittiğinde, cihazım bozulacağından ve tüm USB komutlarını görmezden geldiğinden - cihazı sistemden fiziksel olarak çıkarmam gerekiyor.

Uzaktan geliştirme yapmak ve fiziksel olarak mevcut olmamak istiyorum.

Şimdiye kadar USB yığınının bölümlerini devre dışı bırakmak için "devcon" kullanmayı denedim. Bu, hub'ları D3'e götürürken (kapalı olmalıdır!), Cihaza hala güç besleniyor.

Yardımcı olabilecek herhangi bir çözüm veya SetupAPI hilesi var mı?

cevap

0

Maalesef, stok PC'lerde bu mümkün değildir.

USB ana bilgisayar yonga kümelerinin tamamen kapanma özelliği yoktur. Cihazın uyku durumuna geçmesini istemek için USB 2.0 veya 3.0'da yapabileceğiniz bazı sinyaller vardır, ancak PC kapatıldığında bile bağlantı noktası güç sağlayacaktır. (Bu, iPod'lar gibi cihazlar ve ihtiyaç duyulduğunda hala şarj edilemiyor.)

+1

Bu doğru değil ve belirli bir donanıma bağlı. Bağlantı noktası başına yapamadığınız ve yalnızca tüm kök hub bağlantı noktaları için, kök hub için gücü kapatma/açma seçeneği vardır. Ama kesinlikle – Ilya

3

Üretim yerine geliştirme/test için olduğundan, ikinci bir cihazın parçası olarak bir solid-state_relay olması ve gücü açmak için bunu kullanmasını öneririm USB bağlantısı.

+0

numaralı bağlantı noktasını kapatabilirsiniz. Bu yöntemi kullanırız, sadece elektrik rölesi yerine Vbus kablosuyla elektrik alırız ve güç rölesine yerleştiririz. Tam olarak bu amaçla özel USB röleleri olduğunu biliyorum, ama pahalı olduklarını düşünüyorum. – Ilya

+1

Ev sahibi hub'ı düşük güç moduna geçirdiğinde, cihazları kapatan USB hub'ları zaten var mı? Bu, bir laboratuvar ortamında olduğundan, özel donanım kullanmak, yokuş yukarı bir savaş gerektirecektir. –

+0

Bağlantıyı ayrık yanıt olarak yayınladım. – Ilya

1

Bir donanım rölesi ile ve yazılım aracılığıyla kontrol edebilirsiniz: http://pintant.cat/2012/05/12/power-off-usb-device/ (tabii ki, aygıt için bir adet, biri röle için olmak üzere 2 USB bağlantı noktası kullanacaktır).

+3

Neden 3 yıl önce yayınlanan bir kopyası çoğaltan bir cevap gönderiyorsunuz? –

3

Bazı USB hub'ları, sonraki aygıtlarına giden gücü kapatma yeteneğine sahiptir.

"Ubuntu'dan USB hub'ındaki bağlantı noktalarının açılması mümkün mü?" göbek-ctrl.c bazı c kaynağına

See işaret https://askubuntu.com/questions/149242/is-it-possible-to-power-up-ports-on-a-usb-hub-from-ubuntu : Bir Hayalim-Arsız USB LED ünitesi ile Ubuntu bu test http://www.gniibe.org/development/ac-power-control-by-USB-hub/index

ve kapatmayın görünüyordu - ne zaman tekrar açılsa da, cihaz (!) LED açık/kapalı durumu hatırladı? - USB fişini takıp çıkardığımda bu durum gerçekleşmedi ...

Birisi bunu Windows için derlemiş gibi görünüyor, ama sonucu bulamadım, üzgünüm.

0

this external USB hub satın alırsanız, bu Windows için basit bir çözüm var. Windows Aygıt Yöneticisi'nde hub "etkin" olduğunda, tüm bağlı USB aygıtlarına güç veren belgesiz bir özelliğe sahiptir. Bunu manuel yapabilirsiniz:

  1. Çalıştır "Aygıt Yöneticisi"
  2. "Evrensel seri yol denetleyicileri" uygun "Genel USB Hub" için
  3. Açık Özellikleri
  4. "Sürücü" sekmesini seçin
  5. Expand
  6. "Devre Dışı Bırak" düğmesini tıklayın
  7. "Etkinleştir" düğmesini tıklayın.Hub, güç çıkışını tüm 4 USB bağlantı noktasına kısaca devre dışı bırakacak ve ardından tekrar etkinleştirecektir.

Bunu, programlı olarak yönetici sorumluluğu ile çalışan herhangi bir Windows uygulamasından da yapabilirsiniz. İşte an example in C#.

"Kilitli" olan USB aygıtlarına güç vermek için bu tekniği başarıyla kullandım. Özellikle uzak ya da insansız PC'lerde, fiziki olarak çıkarmayan cihazları yener.

İlgili konular