Guest User

Varför vill man ha en opatchad eller chippad switch?

a guest
Feb 11th, 2024
3,856
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.99 KB | None | 0 0
  1. Eftersom frågan om varför man vill ha en opatchad switch, chippad switch och/eller custom firmware ständigt dyker upp, så tänkte jag göra ett försök till sammanfattning här.
  2.  
  3. Kring Nintendos konsoler finns ett stort community av användare och utvecklare som vill ha möjlighet att köra egenutvecklade program och spel - så kallad "homebrew" - på konsolerna.
  4.  
  5. I normalutförandet så kan en switch bara köra spel/program/kod som är godkänd/signerad av Nintendo. Det samma gäller switchens operativsystem - dvs den mjukvara som finns i switchen förutom spel där man väljer vilket spel man vill spela, gör inställningar och sånt. Operativsystemet låter användaren spela spel som antingen sätts i som kassett eller som köps och laddas ner via eShop. Alla försök att modifiera operativsystemet eller spelen stoppas genom diverse inbyggda signaturkontroller som kontrollerar att programmen/spelen fortfarande stämmer överens med den version som Nintendo godkänt/signerat, och stämmer inte signaturen så vägrar switchen starta programmet/spelet. Med andra ord går det normalt inte att köra homebrew på en switch.
  6.  
  7. Med något sätt att köra kod/program/spel som inte är signerade av Nintendo så öppnas massvis med möjligheter - köra homebrew, köra andra operativsystem på switchen som tex Linux eller Android, köra emulatorer för att spela spel från andra konsoler, installera spel från kassett, spela piratkopierade spel... vad som helst egentligen, så länge det finns mjukvara anpassad till switch som gör det man vill åstadkomma.
  8.  
  9. Under åren har ett antal buggar och svagheter upptäckts i switchens operativsystem och i diverse spel som möjliggjort att köra osignerad kod. Nintendo håller dock detta under stark uppsikt, och fixar snabbt dessa problem genom att skicka ut uppdateringar till operativsystem och spel där svagheterna är åtgärdade.
  10.  
  11. En hållbar lösning för att köra osignerad kod kräver därför något som Nintendo inte kan fixa genom att skicka ut en uppdatering.
  12.  
  13. I alla switchar som såldes under 2017 finns en bugg i switchens processor som möjliggör körning av osignerad kod. Man uppnår det genom att när switchen startar tvinga in processorn i "recovery-läge" genom att koppla ihop två av kontaktpinnarna i joycon-anslutningen på sidan av switchen, och därefter skicka en specifik datasekvens via switchens USB-port. Man kan tillexempel koppla switchen till sin dator via USB-kabel och köra ett program som ordnar detta, alternativt köpa en s.k. "RCM loader" som löser det utan datorinblandning. För att koppla ihop kontaktpinnarna i joycon-railen på enkelt vis kan man köpa en s.k. "RCM jig" - om man köper en RCM loader brukar en sådan ingå. Det fina med denna bugg är att den finns i processorns hårdvara och således inte kan lösas av Nintendo med en mjukvaruuppdatering.
  14.  
  15. Under 2018 åtgärdades processorbuggen, och switchar tillverkade från och med dess har därför inget känt sätt att köra osignerad kod. Alla sätt som upptäckts har kunnat uppdateras bort av Nintendo. Det gäller alltså alla switch lites, alla switch oleds, och alla "vanliga" switchar tillverkade 2018 eller senare.
  16.  
  17. För att komma runt problemet och köra osignerad kod på annat vis så utvecklade gruppen känd som Team Xecuter ett modchip till switch, känt som SX. Chippet måste lödas in på switchens moderkort/kretskort. Dess funktion är att när switchen startar byta ut en del av den kod som processorn läser från switchens inbyggda minne mot kod som kommer från modchippet, och när processorn sedan ska verifiera kodens signatur så stör chippet processorns strömförsörjning, vilket får processorn att missa signaturchecken och köra den osignerade koden från modchipet.
  18.  
  19. Team Xecuter fick senare problem med myndigheter i flera länder och la ner verksamheten. Modchippet SX återuppstod ganska snart i form av HWFLY, vilket är en kinesisk klon av SX. Under 2023 uppstod även en community-utvecklad hwfly-inspirerad modchiplösning känd som Picofly. Picofly är ursprungligen bara en firmware avsedd att användas på en Raspberry Pi RP2040-Zero vilket är en generisk mikrokontroller, och eftersom RP2040 är en mycket billigare lösning har alla hwfly-liknande chip också ersatts med rp2040-baserade varianter istället.
  20.  
  21. Den stora skillnaden mellan modchips och en "opatchad switch" i sammanhanget är att modchip-injektionen av osignerad kod alltid är på plats. Varje gång switchen startar så kommer modchippet att triggas och lura switchen att köra osignerad kod. Med en opatchad switch måste RCM-buggen triggas varje gång switchen startar - med rcm-jig och någon form av loader. Viktigt att skilja på uppstart och sleep mode i sammanhanget - normalt när man trycker på powerknappen på sin switch så går den ner i sleep mode. När man trycker på powerknappen igen så vaknar switchen ur sleep mode, och i detta läge behövs inga trick för att köra osignerad kod - den körs redan. Modchip eller rcm-bugg behövs däremot när man startar om switchen "ordentligt" - tex vid en system update, eller om man trycker reboot, eller om något spel kraschar, eller om batteriet tar slut.
  22.  
  23. När möjligheten att köra osignerad kod väl infunnit sig så var ett av de första programmen som utvecklades för ändamålet en s.k. SD-loader, vars uppgift helt enkelt är att köra program från SD-kortet. Det är denna SD-loader som både modchips och RCM-loaders injicerar i switchen. SD-kortet har därför fått en mycket central del i communityns mjukvaruarbete då den mesta osignerade koden körs därifrån.
  24.  
  25. För att på enkelt vis kunna välja vilken mjukvara man sedan vill starta (switchens inbyggda operativsystem, eller Linux, eller Android, osv) så utvecklades en bootloader vid namn Hekate som numera är en basal del i alla modifierade switchar. Den körs från SD-kortet och låter användaren välja vad som ska startas. Hekate har även en mycket viktig feature som kallas EMUMMC - Emulate MMC. Switchens inbyggda minne är en form av krets som kallas eMMC, och EMUMMC-funktionen i Hekate låter användaren göra en kopia av denna, placera på SD-kortet och köra från den istället. Ett mycket bra sätt att göra och köra allt möjligt utan att riskera att skada eller påverka switchens inbyggda mjukvara!
  26.  
  27. De flesta som använder en modifierad switch vill att den ska fortsätta fungera som en "vanlig" switch men även med möjlighet att köra osignerade program. Med det i åtanke har ett flertal OS-implementationer/firmwares skapats som är baserade kring switchens original-operativsystem. Den som communityt konsoliderat kring heter Atmosphere, och är vad man i folkmun menar med en modifierad switch - att den kan starta Atmosphere, på något vis. Atmosphere ser ut och beter sig nästan exakt som switchens inbyggda operativsystem, och vid en första anblick är det svårt att skilja dem åt. Men - om man håller in R samtidigt som man startar ett spel, alternativt trycker på Album-ikonen, så hamnar man i "hbmenu" istället för spelet/albumet. Hbmenu är Atmospheres meny för att starta homebrew-program. Hbmenu listar alla homebrew-program som lagts i switch-mappen på sd-kortet.
  28.  
  29. Piratkopiering är ett skavsår i communityt. Homebrew i sig är inte olagligt. Atmosphere har i normalutförandet inte stöd för att spela piratkopierade spel, då signaturkontrollerna vid installation och start av spel finns kvar även i Atmosphere. För att Atmosphere ska kunna spela piratkopierade spel så behövs modifieringar som tar bort signaturkontrollerna - så kallade "sigpatches". Dessa levereras inte med Atmosphere men finns att hitta på annat håll.
  30.  
  31. Homebrew-program kan göra allt möjligt - bland annat installera program och spel i Switchen som om de vore köpta via eShop - givet att sigpatches är applicerat. Den mest välgjorda verktyget för ändamålet heter DBI, och har sedan länge varit det vedertagna sättet att installera spel i en switch med Atmosphere. DBI har ett ganska avancerat användargränssnitt, och som ett användarvänligare/smidigare alternativ finns ett annat verktyg som heter Tinfoil. Tinfoil kan installera spel och program från usb-kabel till datorn, från webplatser, från ftp-servrar, från spelkassetter, från usb-hårddisk, etc och har även ett användarvänligt grafiskt gränssnitt som visar upp bilder för spelen och sammanställer spel, uppdateringar, DLC's osv på ett mycket smidigt sätt. Det mesta nedladdandet av piratkopierade spel på switch sker nuförtiden via s.k. "tinfoil-shops" - webplatser för ändamålet som man får lägga till som källor i Tinfoil.
  32. En fantastisk funktion i Tinfoil som förtjänar ett extra omnämnande är "install from cartridge" - när man köpt eller lånat ett spel på kassett, sätter i det switchen och startar Tinfoil så erbjuder sig Tinfoil att installera spelet. Sedan kan man ta ut kassetten och spelet förblir installerat på switchen. Ett smidigt sätt att få tag på fler spel även utan att bege sig ut på piratsidor på nätet.
  33. Till Tinfoils nackdel kan nämnas att det kan vara en aning ostabilt och är benäget att krascha ibland.
  34.  
  35. När man förbereder ett SD-kort för att användas i en switch som kan köra osignerad kod på något vis behöver man, som synes ovan, en stor uppsättning av olika program som beror på varandra. För att förenkla processen finns det numera så kallade HATS-paket färdiga att ladda ner - Hekate, Atmosphere, Tinfoil, Sigpatches. Allt man behöver för att komma igång. Processen för att förbereda sin switch blir då helt enkelt att ladda ner ett HATS-paket, packa upp och kopiera över innehållet till ett microsd-kort, sätta in sd-kortet i switchen, starta switchen (och eventuellt trigga rcm-bugg om inget modchip finns) som då kommer starta in i Hekate - gå till emummc-menyn och välja create emummc - vänta tills det är klart, tar ca en kvart - och sedan trycka launch CFW/EMUMMC för att starta in i Atmosphere från EMUMMC.
  36.  
  37. Switchar kommunicerar i regel en hel del med Nintendo över internet - för att kolla om det finns nya system updates, för att kolla om det finns uppdateringar till spel, för att lista vad som finns i eshopen, för att spela multiplayer-spel online, etc. När den gör det så identifierar switchen sig själv samt bifogar signaturer och dylikt för spelen som finns installerade. Om Nintendo via detta upptäcker att en switch har piratkopierade spel installerade kommer denna switch permanent att stängas av (bli "bannad") från nintendos online-tjänster.
  38.  
  39. För att slippa bli bannad så bör man se till att funktionerna "blank prodinfo" samt DNS-mitm är aktiverade när man startar Atmosphere. Dessa funktioner gör att switchen inte kan kommunicera med Nintendo över internet. Det innebär att en switch som kör Atmosphere normalt inte kan besöka eShopen, spela multiplayer online, uppdatera spel "den vanliga vägen", etc. Lyckligtvis finns det alltid möjlighet att starta in i original-operativsystemet från det inbyggda minnet och där ha tillgång till online-tjänster precis som vanligt. Vill man spela spel online måste man alltså köpa dem. Med EMUMMC får man alltså två helt fristående operativsystem, där det ena kan användas till att spela online och det andra kan användas till piratverksamhet. Med modchip startar man in i original-operativsystemet genom att hålla in volym- och volym+ samtidigt som man trycker på powerknappen, alternativt väljer "reboot to OFW" via Hekate. Med en opatchad switch räcker det med att inte trigga rcm-buggen för att starta in i originalsystemet.
  40.  
  41. Slutligen, det man vill ha är alltså - antingen opatchad switch eller modchip, samt ett HATS-preppat SD-kort med EMUMMC aktiverat. Då har man det bästa av båda världar. Vill man spela köpta spel online - starta in i original-operativsystemet. Vill man göra annat - starta in i Atmosphere på EMUMMC. Smidigt!
  42.  
  43. Jag har medvetet undvikit länkar i denna sammanfattning. Allt man är nyfiken på som nämts ovan är enkelt att googla sig fram till.
  44.  
  45. Om du läst ända hit - grattis! Du är nu en välinformerad custom firmware-switchkonnässör!
Add Comment
Please, Sign In to add comment