[Scena Switch] Rilasciato MissionControl v0.2.0

Disponibile un primo aggiornamento per MissionControl, lo strumento si dimostra come la versione bluetooth del modulo di sistema sys-con, il sysmodule ci permette di utilizzare controller di terze parti e in modo nativo sulla console Nintendo Switch.

Anche se basta utilizzare un  adattatore appropriato per poter collegare via bluetooth la console Switch a diversi controller di gioco come ad esempio il DualShock 4, i controller della Microsoft e addirittura gli stick da combattimento in stile arcade come il Mayflash F300.

L’utilizzo del sysmodule MissionControl funge semplicemente da adattatore permettendoci di accoppiare i controller con la console Nintendo Switch. Questa nuova versione non necessita più del boot2 personalizzato, questo perché la correzione è stata integrata direttamente in Atmosphère.

Importante: A causa delle modifiche sostanziali necessarie per correggere il problema precedente, per eseguire questa versione è necessario installare la versione più recente di Atmosphere >= 0.14.2. Le versioni precedenti si bloccheranno sul logo Nintendo durante l’avvio. Si consiglia inoltre agli utenti che eseguono l’aggiornamento dalla versione precedente di MissionControl di cancellare il database di accoppiamento e di ricollegare i controller. La mancata cancellazione delle vecchie voci puotrebbe causare il rilevamento errato dei controller non switch.

Caratteristiche

  • Supporta tutte le versioni del firmware.
  • Associa i controller Bluetooth in modo nativo tramite la schermata Cambia impugnatura/ordine.
  • Rimappatura nativa dei pulsanti (firmware 10.0.0+).
  • Il sismodule btdrv-mitm aggiunge i comandi IPC di estensione che possono essere utilizzati per interagire con il processo bluetooth senza interferire con lo stato del sistema.

Controller supportati

Attualmente sono supportati i seguenti controller. Se disponi di una variante di terze parti di uno dei seguenti o di un controller Bluetooth che non è stato elencato, valuta la possibilità di inviare un problema con i dettagli del controller, inclusi vid/pid, per richiedere supporto.

  • Telecomando Nintendo Wii + estensioni (Nunchuck, controller classico, controller classico Pro, SNES Mini).
  • Controller Nintendo WiiU Pro.
  • Controller Sony DualShock4.
  • Controller Microsoft Xbox One S.
  • Controller Ouya.
  • Gamestick Controller.
  • Controller Gembox.
  • Controller Ipega (9062S, 9023 confermato funzionante. Altri potrebbero funzionare anche).
  • Xiaomi Mi Controller.

Nota: Non tutti i controller wireless per Xbox One supportano il Bluetooth. Le varianti precedenti utilizzano un protocollo proprietario a 2,4 Ghz e non possono essere utilizzate con la console Switch. Vedere qui per informazioni sull’identificazione della variante Bluetooth.

Requisiti

  • Una console Nintendo Switch hackerabile con almeno la versione 0.14.2 del Custom Firmware Atmosphère. Altri firmware personalizzati non sono supportati.
  • Controller Bluetooth compatibile.

Installazione

Scaricare l’archivio .zip ed estrarlo direttamente  nella directory principale della tua scheda SD. Affinché MissionControl diventi attivo, è necessario riavviare la console.

Si consiglia dopo il riavvio di scollegare anche i controller fisicamente collegati dalla console, eliminare il database di accoppiamento e ricollegare tramite Bluetooth per assicurarsi che i controller Switch esistenti abbiano l’ID hardware corretto memorizzato e possano essere riconosciuti correttamente.

Per eliminare il database, accedere a Impostazioni di sistema-> Controller e sensori-> Disconnetti controller.

Importante: Atmosphère >= 0.14.2 è necessario per eseguire questa versione. Le versioni precedenti si bloccheranno sul logo Nintendo durante l’avvio. Si consiglia inoltre agli utenti che eseguono l’aggiornamento dalla versione precedente di MissionControl di cancellare il database di accoppiamento e di ricollegare i controller con la versione 0.2.0. La mancata cancellazione delle vecchie voci può causare il rilevamento errato di controller non switch.

Utilizzo

Installare MissionControl sulla scheda SD, riavviare la console Switch e accoppiare i controller come faresti normalmente tramite la schermata Controller > Cambia impugnatura/ordine. Una volta accoppiati, i controller si riconnetteranno automaticamente quando vengono svegliati.

La maggior parte delle funzionalità native dovrebbe funzionare (ad eccezione di cose come l’aggiornamento del firmware). Se trovi qualcosa che non funziona, apri un problema.

Associazione controller

I controller supportati hanno ciascuno i propri metodi per accedere alla modalità di associazione/sincronizzazione. Di seguito sono riportate le istruzioni per accedere a questa modalità per ogni tipo supportato.

Controller Wii (U)

Premere il pulsante rosso di sincronizzazione sul retro del controller. I LED del controller lampeggiano rapidamente.

Controller Dualshock4

Tieni premuti contemporaneamente i pulsanti +  finché la barra luminosa non inizia a lampeggiare. Se eseguito correttamente, lo schema di lampeggiamento assomiglierà a un battito cardiaco, altrimenti lampeggerà periodicamente.

Controller Xbox One

Premere e tenere premuto il pulsante guida (X) finché il LED non inizia a lampeggiare. Quindi premere e tenere premuto il piccolo pulsante di sincronizzazione sul retro vicino alla porta di ricarica finché il LED non inizia a lampeggiare più rapidamente.

Dovresti anche assicurarti che il firmware del controller sia aggiornato, poiché i vecchi firmware erano noti per avere un bluetooth flakey.

Per altri controller fare riferimento al manuale utente del controller per informazioni su come metterlo in modalità di sincronizzazione.

Come funziona

MissionControl funziona da Man-In-The-Middling al modulo del sistema Bluetooth e intercettando i suoi comandi IPC di inizializzazione e gli eventi di sistema e traducendo i dati in entrata/uscita per convincere lo Switch che sta comunicando con un Controller Pro ufficiale.

Per ottenere ciò, il modulo btdrv-mitm ottiene gli handle per gli eventi di sistema bluetooth e la memoria condivisa quando il sistema tenta di inizializzarli su IPC tramite i moduli btm e hid. Quindi crea le proprie versioni secondarie di questi e passa i loro handle invece dell’originale.

Ciò consente di apportare modifiche a qualsiasi buffer di dati prima di notificare (o meno) il sistema. Inoltre, il comando IPC WriteHidData viene intercettato per tradurre o eliminare le richieste in uscita al controller. In quest’ultimo caso, risposte false possono essere scritte direttamente nel buffer della memoria condivisa.

L’intercettazione dei comandi IPC di inizializzazione consente inoltre agli homebrew di utilizzare correttamente il servizio bluetooth. Normalmente, la chiamata di uno qualsiasi dei comandi IPC che inizializzerebbero o finalizzerebbero gli eventi di sistema causerebbe un arresto anomalo della console o invaliderebbe gli handle di eventi tenuti dai processi di sistema.

Con btdrv-mitm siamo in grado di distribuire gestori di eventi alternativi quando l’homebrew tenta di inizializzare un’interfaccia e reindirizzare gli eventi di sistema reali a quelli invece degli eventi contenuti nei processi di sistema.

Le patch IPS al modulo Bluetooth sono fornite per (ri)abilitare il passaggio di codici PIN abitrari quando viene utilizzato l’accoppiamento legacy Bluetooth (Nintendo codifica un valore di '0000', ignorando gli argomenti IPC). Ciò consente ai dispositivi Wii (U) di essere associati alla console.

Caratteristiche pianificate

  • Applicazione per la gestione del controller.
  • Supporto Rumble.
  • Supporto per il movimento.
  • Supporto per tastiera e mouse.

Changelog

Questa versione è stata realizzata per coincidere con la nuova release 0.14.2 di Atmosphère, che corregge un bug che stava interessando MissionControl. Di conseguenza, il componente boot2 modificato dalla versione originale non è più necessario. Grazie mille a @SciresM per aver esaminato il problema e avermi rilasciato la nuova versione di Atmosphère.

  • Rimosso il boot2 modificato dalla versione originale. Niente più errori 0100000000000008 causati da versioni di Atmosphère non corrispondenti. Niente più problemi con gli utenti che disinstallano e dimenticano di sostituire il file boot2 originale.
  • Aggiunto un mitm del servizio btm e rinominato il sysmodule in “bluetooth-mitm”. Ciò consente di mantenere i nomi dei controller originali nel database Bluetooth invece di rinominare i controller esterni in Pro Controller. Questo dovrebbe correggere tutti i problemi con i controller Pro e altri controller switch di terze parti che non si connettono.
  • Corretto un bug nella traduzione dei valori del livello della batteria per i controller Dualshock4 che causava crash/freeze della console quando la batteria del controller era quasi piena o scarica.
  • Corretto un bug per il quale i dati di controllo del movimento non venivano azzerati, facendo impazzire la videocamera nei giochi che tentavano di leggere i controlli di movimento (attualmente non implementati).
  • Aggiunto il supporto per diversi controller richiesti dall’utente:
    • Ouya Controller.
    • Gamestick Controller.
    • Gembox Controller.
    • Ipega 9062S & 9023 (potrebbero funzionare anche altri modelli).
    • Xiaomi Mi Controller.
  • Insieme a questa versione è stata fornita una nuova versione del file btdb.nro opzionale. Questa versione ora può leggere i nomi dei controller reali dal database. Ora mostra anche l’indirizzo Bluetooth dell’host sulla Switch.

Problemi noti e limitazioni

  • I controller non Switch non possono essere utilizzati per riattivare il sistema dalla sospensione.
  • I controller per i quali l’ID hardware non è stato inserito nella whitelist per l’identificazione non verranno riconosciuti come connessi. Questo può includere alcuni controller Switch ufficiali. Tuttavia, si accoppieranno comunque con la console e memorizzeranno i loro dettagli nel database. Se incontri un controller di questo tipo, crea un problema con la richiesta di supporto.
  • I controller Wii(U) possono impiegare un po’ di tempo per accoppiarsi con la console. Per qualche motivo vengono rilevati solo alla fine di un ciclo di rilevamento dei dispositivi. Sii paziente e, se necessario, premi nuovamente il pulsante di sincronizzazione sul controller.
  • Alcuni controller Dualshock4 v1 potrebbero non funzionare con la console. Gli utenti hanno segnalato che i tentativi ripetuti di accoppiamento potrebbero causare la sincronizzazione. Una volta sincronizzati, dovrebbero funzionare come al solito.
  • Il layout dei pulsanti della Xbox One è stato modificato a un certo punto in un aggiornamento del firmware. Assicurati che il firmware del controller sia aggiornato se hai problemi con la mappatura dei pulsanti.

FAQ

Domanda: Funziona su <insert CFW here>?
Risposta: No. MissionControl funzionerà solo con Atmosphère. Questo non è un meschino atto di malizia verso altri Custom Firmware e i loro utenti. Altri semplicemente non forniscono (attualmente) il framework necessario per il funzionamento di questo sysmodule.

Domanda: Questo supporta i controller USB?
Risposta: No. MissionControl per ora è solo Bluetooth.

Domanda: Funziona con sys-con installato?
Risposta: Sì, ho ricevuto diversi rapporti dagli utenti che i due possono essere utilizzati insieme senza problemi.

Domanda: L’installazione di questo ha bloccato la mia console !!!!!11!!1!11
Risposta: No. Se al riavvio della console vengono visualizzati errori relativi al titolo 0100000000000008, quasi certamente stai utilizzando una versione di Atmosphere obsoleta. Installare sempre e comunque la versione più recente e seguire nuovamente le istruzioni di installazione di MissionControl.

Domanda: Come posso usarlo con più configurazioni di avvio di sysNAND/emuMMC?
Risposta: L’accoppiamento dei controller su più installazioni HOS univoche richiede più database di accoppiamento ed è essenzialmente lo stesso dell’accoppiamento con due diverse console. L’unica eccezione è il caso in cui hai accoppiato i controller prima di creare copie di sysNAND. Per ora dovrai riassociare i tuoi controller quando passi avanti e indietro. In futuro spero di includere un’opzione per caricare/memorizzare il database sulla scheda SD per evitare questo problema.

Domanda: Perché i miei controller Joycon/Switch Pro ufficiali hanno smesso di funzionare tramite Bluetooth dopo l’installazione di MissionControl?
Risposta: È possibile accoppiare questi controller tramite le guide Joycon o una connessione USB. In questi casi un ID hardware spazzatura viene archiviato nel database di accoppiamento e il controller non viene identificato. La mancata identificazione di un controller significa che non so come devono essere gestiti i suoi dati di input, quindi lo ignoro. Questo problema può essere risolto disconnettendo fisicamente il controller dalla console, eliminando il database di accoppiamento con l’opzione Impostazioni di sistema-> Controller e sensori-> Disconnetti controller, quindi ricollegando tramite Bluetooth nella schermata Cambia presa / ordine. Questo non dovrebbe più essere un problema con l’ultima versione di MissionControl.

Domanda: Perché il mio controller knockoff di terze parti non funziona?
Risposta: Molti controller di terze parti utilizzano anche ID hardware inutili, rendendoli difficili da identificare in modo affidabile. Se un controller non può essere identificato, lo ignoro, poiché non ho idea di come elaborare i dati in arrivo. Attualmente sto cercando di trovare un modo alternativo per identificarli senza creare problemi altrove. Come sopra.

Domanda: I pulsanti del controller Xbox One non sono mappati correttamente. Puoi aggiustarlo?
Risposta: Non hai letto la sezione Problemi noti e limitazioni, vero? è necessario aggiornare il firmware del controller alla versione più recente. Questa operazione può essere eseguita su Windows utilizzando l’app Accessori Xbox. Puoi anche farlo sulla Xbox stessa.

Domanda: Potete aggiungere il supporto per i controller PS3?
Risposta: È sulla mia lista di cose da esaminare. Il processo di accoppiamento non è standard e potrebbe richiedere modifiche al driver Bluetooth. Se può essere fatto in modo non distruttivo, aggiungerò eventualmente il supporto.

Domanda: Puoi aggiungere il supporto per i controller Xbox 360?
Risposta: No. Questi non usano il Bluetooth. Prova il sys-con con un adattatore USB wireless.

Domanda: Puoi aggiungere il supporto audio Bluetooth?
Risposta: No. Il modulo bluetooth sullo switch implementa solo una piccola serie di servizi necessari per far funzionare i controller nascosti. Di questo piccolo insieme di servizi, solo una manciata di funzioni di alto livello sono esposte al resto del sistema. L’aggiunta del supporto audio richiederebbe l’implementazione dei servizi necessari per il trasporto audio, per i quali qualsiasi persona sana di mente richiederebbe una reimplementazione open source del modulo bluetooth per avere accesso alle funzioni di basso livello richieste per eseguirlo.

Download: btdb.nro

Download: MissionControl v0.2.0

Download: Source code MissionControl v0.2.0

Fonte: gbatemp.net

(Visited 1 times, 1 visits today)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *