Hacking (vWii) - Tri-Core Linux

  • Thread starter Thread starter Ninja_Carver
  • Start date Start date
  • Views Views 197,418
  • Replies Replies 841
  • Likes Likes 30
I tested it on a 2GB SD card and I got this write error with Win32 Disk Imager: 'Not enough space on disk: size: 3872768 sectors Sector size: 512'

Thanks, working on it now. I found a really old sd card, so I'm going to dd it just to make sure it fits on this one. I'll make it slightly smaller just so its universal. Should be up later.

[Update] Uploading now (its not tested yet) but it will be the same link as before. Upload will take about 40 minutes. It'll give me time to test in the mean time (though I doubt there will be a problem).

[Update 2] Boots just fine on my 4GB testing card. (can't use the 2GB due to too many bad blocks) but I shrunk it by 100MB and fdisk reports it'll fit on my 2GB card so if it still doesn't work let me know. All SD cards are slightly different (especially the cheap ebay cards), so it wouldn't surprise me if my card reported one size, while yours reports a different one. Upload should finish in about 5 minutes.
 
  • Like
Reactions: OriginalHamster
It's 480MB file right? Downloading now, thanks :)
File write fine with my 2GB SD card.

How can setup my wireless connection?


Wireless doesn't work yet unfortunately. Nintendo changed the wireless hardware enough going from the Wii to the Wii U that we can't use the existing drivers that were used in earlier linux ports for the original wii. New drivers would need to be written from the ground up sadly. If you want internet access now, you can still get it by using a Wii/Wii U compatible LAN adapter and plugging in an ethernet cord that way :). That's how I'm able to do it, its plug and play in this latest beta too :). Just fire up trinux and go! and thanks for testing out this 2gb image for us :)
 
Wireless doesn't work yet unfortunately. Nintendo changed the wireless hardware enough going from the Wii to the Wii U that we can't use the existing drivers that were used in earlier linux ports for the original wii. New drivers would need to be written from the ground up sadly. If you want internet access now, you can still get it by using a Wii/Wii U compatible LAN adapter and plugging in an ethernet cord that way :). That's how I'm able to do it, its plug and play in this latest beta too :). Just fire up trinux and go! and thanks for testing out this 2gb image for us :)

I see, that'sthe reason why commands like 'ipconfig wlan0 up' doesn't get recognized?
 
right, and fyi in this latest beta, the terminal is NOT required to obtain an IP address and get online. Ninja_Carver automated that process on this release :). However I've noticed that sometimes both the swap space and the ethernet won't kick on and if you have to reboot, but then its fine. Something about the script he wrote must be slightly broken.

Also you can get wii/wii u lan adapters for dirt cheap on ebay (generic), that's where I got mine from and it works great :).
 
When I get some more free time to work on this, I think I'm going to make a Trinux start page for when you open up firefox/iceweasel so that it load to that as a homepage with all sorts of useful links. We can set that as the default homepage in the next beta too if its well received :). but in the mean time, users could set it as their homepage to try it out. And of course if we decide to use that as the default homepage in future releases, users can always change it to w/e they want, if they decide they don't want to keep it :P. What do others think of this idea?
 
I don't think a usb ethernet would help me, the router is far from the console, and I have all my Wii U ports used :P
It still running in Wii mode right (with Wii CPU clock?)
But it'sa nice progress, got stuck very often, even when I don't demand many tasks xD, but it's a beta and such it has been pretty funny / interesting to explore :)
 
I don't think a usb ethernet would help me, the router is far from the console, and I have all my Wii U ports used :P
It still running in Wii mode right (with Wii CPU clock?)
But it'sa nice progress, got stuck very often, even when I don't demand many tasks xD, but it's a beta and such it has been pretty funny / interesting to explore :)


This is running at a clock speed of 1.024ghz, as described by Maxternal himself (who discovered the hardware flaw, we're using to boot trinux) this is an altered vWii state. After the Espresso processor is forced to reset by the ARM, normally rebooting back into vWii mode (or just booting into it at all) would cause the Espresso processor to be downgraded to a Broadway (what the original Wii used) which would only run at a whopping 729 mhz XD single core. Trinux essentially starts to boot up BEFORE the Espresso is downgraded to a Broadway and essentially hijacks the normal boot process, effectively bypassing the downgrade process altogether (good job Nintendo, you really botched this one up XD).

Now in regards to the additional cores, while they're technically accessible, we haven't written any instructions yet into Trinux to utilize these additional cores. So we're essentially running off a single core processor clocked at 1.024 ghz with very limited RAM, until we write assembly instructions for utilizing those additional cores. Also we should work on creating a much larger swap file too, to serve as virtual memory, as the one we have currently, doesn't seem to be helping a ton. I mean its much better than the last beta, but still pretty bogged down atm.

EDIT: Also get a usb hub to add more ports to your wii U, that should solve your issue :)
 
This is running at a clock speed of 1.024ghz, as described by Maxternal himself (who discovered the hardware flaw, we're using to boot trinux) this is an altered vWii state. After the Espresso processor is forced to reset by the ARM, normally rebooting back into vWii mode (or just booting into it at all) would cause the Espresso processor to be downgraded to a Broadway (what the original Wii used) which would only run at a whopping 729 mhz XD single core. Trinux essentially starts to boot up BEFORE the Espresso is downgraded to a Broadway and essentially hijacks the normal boot process, effectively bypassing the downgrade process altogether (good job Nintendo, you really botched this one up XD).

Now in regards to the additional cores, while they're technically accessible, we haven't written any instructions yet into Trinux to utilize these additional cores. So we're essentially running off a single core processor clocked at 1.024 ghz with very limited RAM, until we write assembly instructions for utilizing those additional cores. Also we should work on creating a much larger swap file too, to serve as virtual memory, as the one we have currently, doesn't seem to be helping a ton. I mean its much better than the last beta, but still pretty bogged down atm.


That's not exactly correct. First of all, Maxternal did implement the Boot ROM race attack, but it was fail0verflow who discovered it. Second, even though the Espresso isn't downgraded to a Broadway, it still runs at 729MHz like on the Wii. Downgrading to a Broadway means disabling Espresso features like the SMP support. The clock speed is controlled by the Starbuck and separate from that.
 
That's not exactly correct. First of all, Maxternal did implement the Boot ROM race attack, but it was fail0verflow who discovered it. Second, even though the Espresso isn't downgraded to a Broadway, it still runs at 729MHz like on the Wii. Downgrading to a Broadway means disabling Espresso features like the SMP support. The clock speed is controlled by the Starbuck and separate from that.


Oh okay, well thanks for the correction! :P

EDIT: Well once we get full kernel access to CafeOS and everything else (private keys etc) Trinux can be ported over to Wii U mode and run at full capacity :D

Keep up the good work Marionumber1 Chadderz and NWPlayer123
 
Oh okay, well thanks for the correction! :P

EDIT: Well once we get full kernel access to CafeOS and everything else (private keys etc) Trinux can be ported over to Wii U mode and run at full capacity :D

Keep up the good work Marionumber1 Chadderz and NWPlayer123

Just because we'd be running in Wii U mode, doesn't mean things would improve. There are things we can get working in the current mode that would improve things much more, such as SMP support, wireless, and better graphics drivers. Remember, now that we have access to the hardware, we need to do more than just turning it on.
 
Also, ninja_carver, are we still using an old kernel or is there a public source for the current build somewhere?
 
Before I go to sleep, I'd like to point out that one of the wireless cards in the Wii U has a open driver for it, possible port?. More info: http://wireless.kernel.org/en/users/Drivers/brcm80211


rumblpak, i've tried messing with that driver to no avail. loading it as a module, loading it as a driver in built into the kernel, no dice. Possible code change needed. Aside from that, none of my linux cli tools even 'see' the wlan interface. So there's really nothing to load a driver for. Not sure why this is. Same release works fine on a regular Wii.

Might I recommend that if you plan on using this for anything over a POC, that you get a USB hub and plug in a USB wifi dongle?

As far as the Kernel version goes, we're using 3.0.86. I *BELIEVE* I took DeltaResero's source, modified the kernel config, applied some patches, and built. He also has later kernels possibly up to 3.4 that "work" but I've found 3.0.86 to be the most efficient.

right, and fyi in this latest beta, the terminal is NOT required to obtain an IP address and get online. Ninja_Carver automated that process on this release :). However I've noticed that sometimes both the swap space and the ethernet won't kick on and if you have to reboot, but then its fine. Something about the script he wrote must be slightly broken.

Also you can get wii/wii u lan adapters for dirt cheap on ebay (generic), that's where I got mine from and it works great :).


I didn't write a script. All I did was use the existing /etc/rc.local (equivalent of autoexec.bat in DOS) to turn on the swap and run dhlient. The correct way to do this would have been to write an upstart script but, maybe we'll save that for the next beta.

ALSO, it seems that syslog doesn't work. Which, operationally is not a big deal. But if you're a log whore like myself then its nice to have. Probably have to build syslog from scratch because installing the ubuntu package will probably install modules that won't load properly. But if anyone feels like trashing their install, have fun and take a crack at it...
 
So if this is running in vwii mode with one processor would this setup run on a regular ol wii?
 
rumblpak, i've tried messing with that driver to no avail. loading it as a module, loading it as a driver in built into the kernel, no dice. Possible code change needed. Aside from that, none of my linux cli tools even 'see' the wlan interface. So there's really nothing to load a driver for. Not sure why this is. Same release works fine on a regular Wii.

Might I recommend that if you plan on using this for anything over a POC, that you get a USB hub and plug in a USB wifi dongle?

As far as the Kernel version goes, we're using 3.0.86. I *BELIEVE* I took DeltaResero's source, modified the kernel config, applied some patches, and built. He also has later kernels possibly up to 3.4 that "work" but I've found 3.0.86 to be the most efficient.

I'm looking into why the majority of the devices on the Wii U are not exposed to linux. The only usb nic I have (which works with the Wii) doesn't work in Wii linux without either modifing the kernel to add the driver or modprobing the driver at every boot. I'd appreciate if you could share the patches that you made to the kernel, even if all it is, is a diff patch. According to most of the teardowns, the major bus in the Wii U is USB, but the only hub detected by linux is the external ports. Meaning, we need to change the hardware locations to the locations in the Wii U. I'm also looking into adding the additional CPUs to trinux on a better support basis by comparing the current kernel support to the x360 linux build, which should help. No time-table on when this all will happen but I have some extra time right now so I can at least look into it.

[Edit]
We're going to have to make some additions here unless you already have: https://github.com/DeltaResero/GC-W...rnel-3.0.y/arch/powerpc/platforms/embedded6xx
 

Site & Scene News

Popular threads in this forum