USB alt sistemi nasıl yeniden başlatılır?


14

Arduino üzerinde geliştiriyorum ve bazen kullanılan USB bağlantı noktası çalışmayı durduruyor. Ardından cihazı başka bir USB bağlantı noktasına takmam gerekiyor. Tüm USB bağlantı noktaları çalışmayı durdurduğunda, gerçekten can sıkıcı olan makineyi yeniden başlatmam gerekiyor.

Hatırladığım kadarıyla USB alt sistemini ayrı ayrı yeniden başlatabilecek bir komut var ama hatırlayamıyorum. Tüm sistemi yeniden başlatmadan USB'leri nasıl yeniden başlatabilirim?

MacOS Sierra kullanıyorum.

Bu, USB bağlantı noktalarım donduğu için yalnızca yazılıma ihtiyaç duyduğum için MacBook Pro'daki USB bağlantı noktasını sıfırlama sorusundan farklıdır - bu, tam sistem yeniden başlatılıncaya kadar çalışmayı durdurdukları anlamına gelir. USB alt sistemini ayrı ayrı yeniden başlatmanın bir yolu olmalıdır.


Hangi Mac modellerini kullanıyorsunuz?
IconDaemon

2
Bu neden Mac ile ilgili değil? Mac'indeki USB bağlantı noktaları ve Arduino'da değil, Mac'te USB sisteminin nasıl yeniden başlatılacağı hakkında. Diğer yandan, Ardiono topluluğu bu sorunu daha sık göreceklerinden daha yararlı olabilir. arduino.stackexchange.com
SPRBRN

Benim yorumum itibaren bu kapalı başlar "soru ifadeli şeklinden itibaren ..." Mac ilgili değildir görünür neden söyler. Sorununuzun ne olduğunu, sonucun ne olmasını beklediğinizi ve ortamınızın ne olduğunu eklemelisiniz. Unutma, omzunun üzerinden bakmak için orada değiliz. Ayrıca, son zamanlarda cevaplanan bu soru, apple.stackexchange.com/questions/294944/… sorunuza hitap ediyor, bu yüzden şimdi sorunuz (yorumlara göre) potansiyel olarak bir dupe.
Allan

Bu tür bir XY sorunu gibi geliyor. Sorunun olası bir nedeni, Arduino cihazının çok fazla güç çekmesi ve USB Veri Yolu'nun aşırı ısınmasıdır. Harici olarak çalışan bir USB Hub'a ve harici olarak çalışan USB Hub'ı Mac'e bağlayın.
user3439894

Yanıtlar:


5

USB Veri Yolu'nu USB Prober.app ile sıfırlayabilirsiniz. XCode'a dahil değildir, ancak Apple Geliştirici İndirme sayfasından ayrı olarak indirebilirsiniz . Kaydolmanız ve giriş yapmanız gerekir.

  1. aramak iousbfamily
  2. En son IOUSBFamily Günlük Sürüm dosyasını indirin (bu yayının yapıldığı tarihte IOUSBFamiliy Log Release for OS X 10.9.3)
  3. .Dmg dosyasını bağlayın ve IOUSB-XXXXXX-log ile dizine gidin.
  4. Yükleme. Paketi sağ tıklayın ve "Paket İçeriğini Göster"
  5. Sıkıştırılmış Archive.pax.gz; USBProber.app dosyası/Archive/DevTools/Hardware


Önemli:

Sadece uygulamayı başlatmak USB veri yolunuzu sıfırlayacaktır. Belirsiz ve yanlış bir şekilde çıkarılmasını istemediğiniz tüm sürücüleri çıkardığınızdan emin olun!


Bu USB Prober ile USB'yi sıfırlayamıyorum. Bunu nasıl yapacağınıza dikkat çekebilir misiniz?
haxpanel

Sadece USB probunu başlatmak onu sıfırlayacaktır. Ne yaptın ve ne oldu?
Allan

2
Cevabınıza göre her şeyi yaptım ama uygulama sıfırlamıyor.
haxpanel

Açıkçası USB saçmalıklarını yeniden başlatmak için bir komut olduğunu hatırlıyorum. Terminalde 1 komut komutu. Ben sadece normal bir günde yeniden başlatmak zorunda değilim, bu yüzden unuttum ....
haxpanel

Aslında bu burada işe yaramıyor. En son Sierra'ya bir 'kötü' usb çubuğu takmaya çalıştı. Yeniden başlatılıncaya kadar başka çubuk tanınmaz. Harici çevre hala kötü çubuktan sonra çalışıyor, USBProber başlatma sırasında sıfırlama yapmıyor. Başka yolu var mı?
LаngLаngС

3

Bir USB cihazını sıfırlamak için, önce bu diğer cevaptaUSB Prober.app açıklanan şekilde indirin .

Ardından, sıfırlamak istediğiniz USB cihazının Satıcı ve Ürün Kimlikleri'ni bulmanız gerekir. USB Prober ile bunu yapabilir, ama kullanarak daha kolay olabilir System Profilersizin Uygulama / klasör Utilities uygulamayı: Select USBiçinde Hardwaresol bölmede konu, o zaman, sağ üst bölmede USB cihazı arayın seçmek ve Aşağıda gösterilen Ürün ve Satıcı Kimliklerini aşağıdaki gibi göreceksiniz:

System Profiler ekran görüntüsü

ID'ler, 0x ile başlayan ve 4 rakam / harf içeren onaltılı kodlardır. Önce Satıcı Kimliği ile not edin.

USB Prober'in içinde, reenumerateTerminal.app'dan çağırmanız gereken bir araç var (bunu Uygulama / Yardımcı Programlar klasörünüzde bulun).

İndirilenleri USB Prober.appYardımcı Programlar klasörünüze taşıyın veya kopyalayın .

Terminal.appAşağıdaki satırı açın ve içine yapıştırın:

/Applications/Utilities/USB\ Prober.app/Contents/Resources/reenumerate

Ardından Terminal penceresine tıklayın ve boşluk anahtarını yazın, ardından virgülle ayrılmış olarak iki USB aygıt kimliğini (önce Satıcı Kimliğini) yazın. Kimlikleriniz 0x174c ve 0x55aa ise, şimdi satır şu şekilde olmalıdır:

...$ /Applications/Utilities/USB\ Prober.app/Contents/Resources/reenumerate -v 0x174c,0x55aa

Return tuşuna basın ve buna benzer çıktılar almalısınız:

Verbose mode ON
Looking for vid: 0x174c, pid: 0x55aa
Found "ASM105x" @ 0x14200000
Calling USBDeviceReEnumerate
USBDeviceReEnumerate returns 0x00000000

İlk satırdan daha fazlasını alamazsanız, yanlış kimlikler girdiğiniz anlamına gelir. Tam çıkışı alırsanız, cihaz sıfırlanmış olmalıdır - bir disk cihazı için, kabloyu kısa bir süre fişten çıkarmış gibi sökecek ve yeniden bağlanacaktır.

Eğer çağırmak durumunda reenumerateherhangi bir argüman olmadan komutu, size deneyebilirsiniz fazla seçenekleri ile kullanım bilgilerini alırsınız.


1
Prober.app nedir? Burada tam olarak ne oluyor? USB hangi dizindir?
IceFire

1
Mojave'de USB Prober kullanan bu komut benim için çalışmıyor. İlk iki satırı görüyorum ama bundan sonra hiçbir şey yok.
Patrick Chu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.