Disponibile una prima pre-release della versione 0.5.0 di MissionControl per supportare la nuova versione 0.19.0+ di Atmosphère, lo strumento si dimostra come la versione bluetooth del modulo di sistema sys-con.
Questa versione offre un primo supporto parziale per il nuovo firmware 12.0.0, alcuni controller e una manciata di nuove funzionalità e miglioramenti tra cui una configurazione globale del modulo .ini
, nome e indirizzo di spoofing dell’adattatore Bluetooth host e forse il supporto più notevole per il rumble.
Il supporto Rumble è disponibile per i principali controller delle console Nintendo, Microsoft e Sony ed è abilitato per impostazione predefinita. Il supporto per altri controller può essere aggiunto su richiesta se è possibile trovare informazioni sul formato del report di output per il controller. Qualcuno conosce un modo adatto ai principianti per scaricare un descrittore di report HID?
Si noti che mentre rumble funziona senza problemi per i controller supportati, è considerato un WIP con margini di miglioramento. Non aspettatevi che le vibrazioni siano riproduzioni perfette del rombo HD che si trova nei controller Switch. Può essere disabilitato globalmente tramite il file ini di configurazione se non ti piace. Ciò non influirà sui controller Switch ufficiali.
Un modello per il file config .ini
verrà installato in /atmosphere/config_templates/missioncontrol.ini
. Per modificare le impostazioni predefinite del modulo, copiare il modello in /atmosphere/config/missioncontrol.ini
e rimuovere i commenti/modifiche nelle impostazioni che si desidera modificare.
Il file viene analizzato solo all’avvio, quindi qualsiasi modifica apportata richiederà un riavvio per avere effetto. Attualmente esiste solo un piccolo insieme di impostazioni di configurazione, ma questo verrà ampliato nelle versioni future.
[general]
Queste sono le impostazioni generali per le funzioni di MissionControl.enable_rumble
Abilita/disabilita il supporto rumble per controller non ufficiali.enable_motion
Abilita/disabilita il supporto dei controlli di movimento. Attualmente non utilizzato.
[Bluetooth]
Queste impostazioni possono essere utilizzate per falsificare il Bluetooth della console Switch in modo che appaia come un altro dispositivo. Ciò può essere utile (insieme a una chiave di collegamento) se desideri utilizzare il controller su più dispositivi senza dover eseguire nuovamente l’associazione ogni volta che cambi. Tieni presente che la modifica di queste impostazioni invaliderà le informazioni della tua console memorizzate in qualsiasi controller precedentemente accoppiato e richiederà un nuovo accoppiamento.host_name
Sostituisce il nome dell’adattatore host Bluetooth.host_address
Sostituisce l’indirizzo dell’adattatore host Bluetooth.
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, Classic Controller, Classic Controller Pro, SNES Mini, TaTaCon (Taiko drum)).
- Controller Nintendo WiiU Pro.
- Controller Sony DualShock4.
- Microsoft Xbox One S/X Controller*
- NVidia Shield Controller
- Ouya Controller
- Gamestick Controller
- Gembox Controller
- Ipega Controllers (9017s, 9023, 9062S, 9076, 9078, 9087 9096 hanno confermato il funzionamento. Altri possono funzionare anche).
- Xiaomi Mi Controller
- Steelseries Free
- GameSir G3s
- GameSir G4s
- Hori Onyx
- 8BitDo ZERO (la maggior parte degli altri controller 8BitDo ha una modalità Switch disponibile. Potrebbe richiedere l’aggiornamento del firmware)
- PowerA Moga Hero
- PowerA Moga Pro 2
- Mad-Catz C.T.R.L.R
- Razer Serval
- Mocute 050
[stextbox id=’info’]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.[/stextbox]
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.
[stextbox id=’alert’]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.[/stextbox]
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
- Aggiunto supporto per il firmware 12.0.0.
- Aggiunto supporto rumble iniziale per i principali controller di console selezionati.
- Aggiunto supporto per i seguenti controller:
- Razer Raiju Tournament.
- Gamesir T1s.
- 8BitDo SN30 Pro Xbox Cloud Gaming Edition.
- Mad Catz C.T.R.L.R for Samsung.
- Steelseries Stratus Duo.
- iCade controller.
- LanShen X1Pro.
- Aggiunto supporto per i LED e i colori della barra luminosa del Dualsense con segnalazione del livello della batteria (grazie @Hydr8gon).
- Aggiunto un file ini di configurazione del modulo globale.
- Aggiunto supporto per lo spoofing del nome e dell’indirizzo dell’adattatore host Bluetooth.
- Aggiunto supporto per un formato di report alternativo per i controller Mocute 050 su alcune revisioni del firmware.
- Aggiunto mitm per la funzione btdrv SetTsi, in modo che il comando non venga inviato a controller non switch. Questo ha corretto un problema che i controller Gamesir G3s e G4s venivano scollegati dopo un po’ di tempo. Può migliorare anche l’affidabilità per altri controller.
- Rimossa la chiamata alla funzione CheckApiVersion. Questo era destinato all’uso interno di Atmosphere ed era il motivo principale per cui Mission Control richiedeva spesso un aggiornamento dopo una nuova versione di Atmosphere.
- Le combinazioni delle combo per i pulsanti
Home
eCapture
ora vengono applicate anche ai controller Nintendo ufficiali. - Aggiornato per utilizzare la nuova semantica sf introdotta in Atmosphere 0.18.0.
- Aggiornato per utilizzare l’ultima versione di libstratosphere. Ciò riduce le dimensioni del modulo di quasi il 50%.
- Aggiunto git branch, commit hash e versione taggata durante la generazione del file
.zip
per la distribuzione.
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: MissionControl v0.5.0 Pre-release
Download: Source code MissionControl v0.5.0 Pre-release
Download: MissionControl v0.4.1
Download: Source code MissionControl v0.4.1
Fonte: gbatemp.net