Il developer isage ha portato alla luce due vecchi moduli in bootimage utilizzati sulla versione Devkit e Testkit della console PlayStation Vita che attraverso dei dongle ethernet (costosi e difficilissimi da trovare) permettevano di collegare la console via LAN.
Questi due moduli usb_ether_smsc
e usb_ether_rtl
possono funzionare anche con altri tipi di dongle apportando solo alcune piccole modifiche ai VID/PID.
Di seguito il port pubblicato dal developer sulla repository del progetto:
Vita Devkit e Testkit vengono forniti con dongle ethernet (a meno che tu non lo abbia acquistato da eBay). Questi adattatori sono difficili da trovare e costosi. Così abbiamo deciso di approfondire ciò che sono veramente.
Ci sono due moduli in bootimage: usb_ether_smsc e usb_ether_rtl
Con l’aiuto dei piccoli dongle RE e pop13_13 abbiamo scoperto che, insieme al VID/PID Sony personalizzato, supportano i VID/PID del produttore in stock, e anche le condizioni per il loro caricamento.
RTL è il più semplice: si usa su PSTV, è economico e disponibile. SMSC funziona solo su console non CEX e sembra che non ci siano dongle pronti per l’uso con esso. Quindi ne ho ordinato uno RTL e ho iniziato ad armeggiare con il codice.
Prossimo problema: gli adattatori devkit/testkit abilitano in qualche modo la modalità host su multiconnettore. Abbiamo sondato alcune cose, S1ngyy ha persino acquistato il dock Sony originale, ma ciò non ha aiutato. Sooo… l’abbiamo appena fatto dal software, grazie al wiki e un po’ di arm e RE.
Ora abbiamo la modalità host su multiconn, ma ovviamente abbiamo bisogno di un driver per il dispositivo. Potresti dire: “aspetta, ma hai detto che bootimage li ha”.
Sicuro. Ma c’è un piccolo problema: il modulo RTL “si avvia” solo se vengono soddisfatte determinate condizioni (vedi wiki), altrimenti il modulo viene ancora caricato ma non fa nulla.
Non possiamo eseguire il patch-out dei controlli tramite taihen, poiché è stato caricato molto prima di taihen in boot_config.
Quindi, la soluzione più semplice (e maledetta) che mi è venuta in mente: patch-out dolce check in binary (sceSblAimgrIsVITA() == 0 -> sceSblAimgrIsVITA() == 1
) e il nome del modulo patch (poiché rtl uno è ancora caricato e non puoi averne due).
Sebbene hackish, è anche un metodo più sicuro rispetto all’aggancio di sceSblAimgrIsVITA()
, perché in questo modo le altre parti del modulo e/o il software di sistema non sono interessati.
Infine, la configurazione ethernet nelle impostazioni richiede alcuni flag di capacità, quindi falsiamo anche quelli.
Installazione
Retail + dongle rtl generico
- Scaricare e copiare il plugin
ether-enabler.skprx
inur0:tai
. - Scaricare e copiare il plugin
usb_ether_mtl.skprx
inur0:tai
. - Aggiungere entrambi sotto la sezione
*KERNEL
del fileconfig.txt
, l’ordine non dovrebbe importare.
Retail + testkit dongle
- Scaricare e copiare il plugin
ether-enabler-lite.skprx
inur0:tai
. - Scaricare e copiare il plugin
usb_ether_mmsc.skprx
inur0:tai
. - Aggiungere entrambi sotto la sezione
*KERNEL
del fileconfig.txt
, l’ordine non dovrebbe importare.
Devkit/Testkit
- Scaricare e copiare il plugin
ether-enabler.skprx
inur0:tai
. - Aggiungere entrambi sotto la sezione
*KERNEL
del fileconfig.txt
, l’ordine non dovrebbe importare.
Hardware
- USB ethernet con RTL8152.
- Creare un adattatore collegando due pin dati della porta usb-femmina, fornire alimentazione esterna a uno (dongle) o entrambi (quindi si caricherebbe anche la PlayStation Vita), collegare il cavo della PlayStation Vita a un altro e vai.
- In alternativa acquistare un cavo a Y con due porte femmina.
Changelog
- Aggiunto supporto per testkit dongle su retail.
Download: Vita USB Ether v1.1
Download: Source code Vita USB Ether v1.1
Fonte: twitter.com