Mods schmods... I wanna boot debian. - Nexus One General

Ok, setting up the old debian chroot is pretty straight forward. I had it up and running within a couple of days. What I really want to try to do is boot into debian natively.
I've been poking around and looking into a few things. I'm thinking it shouldn't be too hard to modify the init.rc to bring up debian instead of the normal android services and whatnot. From looking around it looks to me like init.rc lives in the boot image. So I'm guessing I would need to put together a boot.img with my custom init.rc and any supporting files.
Thoughts?

Should be totally doable. Debugging the boot process is a PITA though. Some things that might help with that:
TTL level serial (2.8v, 3.3v tolerant, I think) is available on the D+/D- lines of the microusb connector when VBUS (usb +5vdc) is not present. You can test a cable with a running N1 -- a couple taps of enter should get the debug> FIQ debugger prompt. For your own build, you'll probably want to enable serial console on ttyMSM0 and disable the FIQ debugger.
Alternatively you could try to dust off the fbconsole support. We never build with it, so it is *possible* that it has some problems, but it might Just Work <tm>.
Until you get a GUI environment up that has touch support, your inputs for on-device for debugging are limited -- volume buttons, power button, trackball button, trackball. The "soft keys" are implemented in userspace, not the kernel -- the kernel just provides a touchpanel driver.
Somebody could probably do an in-kernel softkeyboard, like the guy who did the android-for-vogue stuff way back when did, or perhaps you could convert graffiti-style strokes to keys in-kernel or something suitably fun like that.

I don't currently have the equipment I would need to setup a serial cable for that. Perhaps in the near future though. Thanks for that tip.
Is fbconsole part of the android source, or is a kernel option? I've been digging around for it, and haven't been able to track it down yet.
I poked at this a little over the weekend. Played around with init.rc, but I couldn't get my sdcard to mount without logging in via adb and mounting it by hand. I also decided it would probably be easier to install debian on a partition on the SD card instead of mounting an image off of the card.
I have a lot to learn here, espesially figuring out how to get debian to boot so I expect this will take me some time to figure everything out.

fbconsole is doing some very weird stuff. Scrolling sideways, a very distorted looking image scrolls by. All in all pretty much unusable. I have a mini - micro adapter, and a spare mini usb cable I don't mind donating to science, so having a go at building a serial cable tonight.

You might want to have a look at this

Woot! BOOTS!
Hit default run-level tonight
Next. Configure it so it does more then start cron.

It's already been done, as of 11 days ago...
http://forum.xda-developers.com/showthread.php?t=622474
Could have saved yourself some time with a simple 3 second search...

I hate to break it to you but chrooting into a debian image is not booting into debian. Cute trick, but I had that done the day after I got my nexus.
I'm talking about booting debian from the boot-loader.
Anywho...
I got hung up with getting getty running. Once I installed udev, getty started playing nice.
Debian GNU/Linux 5.0 TheBriaDroid ttyMSM0
TheBriaDroid login:

Related

Linux for Herald

so being a little fed up with windows mobile and a little discouraged with my last unsuccessful flashing experience (tethering is how I roll) im looking for a fully functional or mostly functional version of linux for my Herald. I've searched everywhere I can think of, is that pretty much the end of the road? would a linux rom that works on another similar phone work on mine? which phone is most similar? if linux isn't available, how long should I wait?
THANKS!
Cheers
Stivan
Have a lokk in "Developement and Hacking" thread. there are several linux threads. BUT nothing impressive....
Wait on google android!
If it makes you feel better, USPL works off some kind of linux i believe. If you use USPL to flash your phone you technically used linux. So there we go
I am definately interested in a herald linux port.
Linux on Herald Here!!!
Here is a gentoo image compatible with the Herald. Built for the Wizard, but works fine on my Wing. Only issues being no sound support and screen is shifted to the right a little, but touchscreen and SD card are working. Keyboard mapping is a little off though, but easy enough to figure out.
http://www.gossamer-threads.com/lists/gentoo/embedded/55281
For those who don't want to read the whole thread...
http://tinderbox.dev.gentoo.org/embedded/linwizard/gizard-20080527.tar.bz2
Extract to root of storage card, and run Haret.exe Login as root, blank password. Use startx to get desktop if you want.
Enjoy
Hey guys, I tried it too but I get a white screen...
you kick ass..If I could just get the source code...
Lackofmotivation said:
Here is a gentoo image compatible with the Herald. Built for the Wizard, but works fine on my Wing. Only issues being no sound support and screen is shifted to the right a little, but touchscreen and SD card are working. Keyboard mapping is a little off though, but easy enough to figure out.
http://www.gossamer-threads.com/lists/gentoo/embedded/55281
For those who don't want to read the whole thread...
http://tinderbox.dev.gentoo.org/embedded/linwizard/gizard-20080527.tar.bz2
Extract to root of storage card, and run Haret.exe Login as root, blank password. Use startx to get desktop if you want.
Enjoy
Click to expand...
Click to collapse
I don't even know you, but I love you!
You are awesome. Thank you so damn much.
Linux was my only reason for buying a wing!
The obvious problems I see are as follows:
no sound
screen does not adjust when slid out
no phone program
not sure if it can get on the edge network
directional button does not work
the telephone buttons dont appear to respond nor do the subkeys around the green and red phone buttons
it's gentoo [I kid, this isn't really a problem ]
the keypad does not seem to map correctly to qwerty-us
cap and alt are lit and are inaccessible
usb port may or may not work.. did not check
other then that KICKASS
This is by no means a complaint list.
I am a programmer, I do know c and I have messed around inside the
internals of the linux kernel before.
My motivation to resolve as many of the above issues is very high right now.
I was almost ready to give up on this phone.
Again... THANK YOU!!!
Did you take the entire gizard folder and drop it into the top level directory of your sd card?
after you do that, reboot your phone. Then run the haret program.
_MsG_ said:
Hey guys, I tried it too but I get a white screen...
Click to expand...
Click to collapse
You must have a different LCD panel, and the power GPIO settings may
be different. Look and compare the wizard and artemis wiki pages about
omap gpios.
Herald is very similar to Wiazrd (artemis has a very different setup), but
obviously there are still some differences.
not really
fzzyrn said:
If it makes you feel better, USPL works off some kind of linux i believe. If you use USPL to flash your phone you technically used linux. So there we go
Click to expand...
Click to collapse
this really isnt what i was talking about at all. linux os on htc phone, not using linux program to flash htc phone with windows software. really big difference. so technically, yeah i did use linux, but not on my phone. thanks anyway though
touchscreen broken
so in order to install gentoo onto linux i have to install within windows mobile i guess. problem is, my touchscreen is broken and it wont let me get past the setup wizard and the screen calibration. when the touchscreen broke, for some reason i thought that reseting my phone might fix it, maybe some sort of glitch or something. is there any way to get past this? is there any other way to install gentoo without having to put it on the memory card first?
so in order to install gentoo onto linux i have to install within windows mobile i guess. problem is, my touchscreen is broken and it wont let me get past the setup wizard and the screen calibration. when the touchscreen broke, for some reason i thought that reseting my phone might fix it, maybe some sort of glitch or something. is there any way to get past this? is there any other way to install gentoo without having to put it on the memory card first?
waiting......
as for the broken touch screen,just create a file named welcome.not and place it in the root of the micro sd card. restart the unit. it'sjust an empty file. it has worked for me four times already. it bypasses the touch screen setup. as for linux. I would love to try it.
Thank You Thank You So Much!
donepate you are so awesome! this is by far probably one of the most useful (albeit basic) tips ive ever read! thank you so much my herald has been dead for about a year and in its place was a Samsung SGH-639. BLAH! YAY! HERALD IS BACK! HELL YEAAAAAH!
has anyone got this to work completely keyboard, screen flipping and everything?

Lets save some bricks...

I've been reading up on SGS hardware and bootloaders, and I feel like there's a very good chance that there's a way (within reach? ??) to to fix a totally bricked phone.
NOTE: I'm no expert on this stuff. If I'm missing something totally stupid, please forgive me. Anyways, here goes...
The user manual for the s5pc110 chip describes the booting process; it has 3 levels. On hw reset the cpu begins executing code that lives in ROM. The ROM code loads the primary bootloader from a source selected by external pin inputs. The PBL pretty much just loads the SBL, which does the major setup and loads the kernel.
The important thing, which I haven't seen anyone discuss, is that the initial ROM code includes the ability (poorly documented, of course) to load the PBL from UART or USB.
Repeat : non-eraseable code in our phones which is executed on hw reset can load a bootloader over serial or USB into memory and then execute it.
From other threads, we know that Samsung is able to restore a bricked phone without opening it up. Why should they have all the fun?
The first step is asserting the proper pins. This is done by connecting the proper resistance betw pins 4 & 5. The 'jig' thread describes using 301k to get into download mode, but this is happening in the SBL. Many other R values are desribed in the 'fun with resistors' thread and in the fsaXXXX-i2c.c kernel source. One of them does a reboot and connects a (3.3V) UART to the D+/D- pins.
One thing that is described in the docs is that the ROM code tries UART first and then fails over to USB. Since UART is so much simpler, I'd say that's where to begin.
We already learned in that thread that connecting at 115200 baud and banging on RETURN brings up a "SBL>" prompt with lots of cool commands available. But as TheBeano pointed out, that's not much use if the SBL is toast.
What I'm wondering is whether there's a way to interrupt the normal boot while its still running ROM code. There's no reason the ROM would set up the UART at the same baud rate as the SBL and kernel. Maybe just a lower baud and banging on RETURN is enough.
For anybody with the time and the hardware, that should be easy enough to try. TheBeano?
There's probably some handshake/protocol issues to figure out to get a bootloader loaded and executing, but we do have a known good one (the PBL) to play with.
If that can be made to work, it would be a huge step towards a working solution. There is code floating around (I saw it on the teamhacksung git) that ports u-boot bootloader to our phones. AFAIK, nobody around here has tried it. But if we are able to test bootloaders w/o flasing, then maybe we (someone with a clue about bootloaders,that is) can open the door to safe, open-source booting.
So that's it. Is this crazy-talk, or do you guys n gals think it just ... might ... work?
I am actually very surprised that no one has replied to this, it is actually a very good idea and also very possible
I will add a little insight without giving too much away
Its also possible to start the phone via JTAG and pass the control over to USB or UART, even to enter DLM and flash the phone without repairing the current IBL/PBL/SBL within the phone which are damaged, e.g. the loaders are running in RAM this is done via CMM or JNAND ...
I have the full unstripped source code for the PBL and SBL and may consider releasing them if some input starts in this thread, its all too easy just to give them out without the scene thinking on its feet
Oh BTW: My dog spoke to another dog who's owner works for Samsung and he told him that the 2.3.3 release, will be released when its f**king ready and not 1 day before.
Sorry I meant to post to this thread earlier. I looked at this a while ago but the main thing that baffled me was that according to the CPU data sheet, to enable booting from USB or UART you needed to set some bits on the processor OM pins, and I couldn't see how to do that without internal access to the hardware, unless they are wired up to, or switched by, the fsa9480 somehow?
I've looked at the schematic fragments from the service manual but they weren't much help. If anyone has a schematic that shows what is connected to the application processor OM pins that would be a big help. Obviously the bootloader sources would be great too!
TheBeano said:
Obviously the bootloader sources would be great too!
Click to expand...
Click to collapse
Come on guys, lets have some input here, and I will give out snippets of info to help, just in case anyone is in any doubt to what I said, take a look at the attached screendump
Odia said:
I am actually very surprised that no one has replied to this, it is actually a very good idea and also very possible
Click to expand...
Click to collapse
Maybe this thead has to move to Rom development not many devs in general
If you have the sources then its possible to make our own bootloaders and dual boot whatever we want maybe win 7 (it's a joke)
TheBeano what service manual will help you? full one?
http://www.filesonic.com/file/305248751/Samsung_GT-i9000_Galaxy_S_service_manual.rar full one.
http://megaupload.com/?d=C0JHS7A8 - service training manual 01/2011
manosv said:
Maybe this thead has to move to Rom development not many devs in general
If you have the sources then its possible to make our own bootloaders and dual boot whatever we want maybe win 7 (it's a joke)
Click to expand...
Click to collapse
Hey, off topic here, but i have seen these phones on ebay, chinese own brand of course, but dual boot, runs both android and windows on one phone.
so it is possible for someone who knows how to.... would be very interested in seeing this develop
http://cgi.ebay.co.uk/W6000-Dual-Ca...ile_Phones&hash=item230f1eea0a#ht_3411wt_1139
Fuma said:
TheBeano what service manual will help you? full one?
http://www.filesonic.com/file/305248751/Samsung_GT-i9000_Galaxy_S_service_manual.rar full one.
Click to expand...
Click to collapse
Thanks, there were some schematics in that first one named "Samsung GT-i9000 Schematics.pdf" that had me going for a while, but they are from a different phone! Some Mediatek thing. The service manual files only have excerpts from the full schematics.
TheBeano said:
Thanks, there were some schematics in that first one named "Samsung GT-i9000 Schematics.pdf" that had me going for a while, but they are from a different phone! Some Mediatek thing. The service manual files only have excerpts from the full schematics.
Click to expand...
Click to collapse
different phone? I9000B? sorry. thought it was all I9000.
well i tired...
Fuma said:
different phone? I9000B? sorry. thought it was all I9000.
well i tired...
Click to expand...
Click to collapse
It's the schematic for a cheap phone with the Mediatek MT6225 processor, the "CSL Blueberry" I think. They have an "i9000" model so maybe that's how it started.
mmm...well if i stumble upon more stuff i'll send your way . it might help.
TheBeano said:
Sorry I meant to post to this thread earlier. I looked at this a while ago but the main thing that baffled me was that according to the CPU data sheet, to enable booting from USB or UART you needed to set some bits on the processor OM pins, and I couldn't see how to do that without internal access to the hardware, unless they are wired up to, or switched by, the fsa9480 somehow?
Click to expand...
Click to collapse
Yeah, it's got to be the fsa9480. That plus (possibly) the volume/power/etc buttons are the only possibilities. The fsa switches which lines from inside the phone are connected to the micro-USB pins 2 & 3 (aka D+/D-). But it also has (at least) 2 digital outputs called JIG and BOOT which feed back to the CPU. BOOT presumably causes a hardware reset, so the JIG line is free to determine the boot mode.
We know the normal boot is from OneNand. Looking at table 6.3 of the data sheet tells us that the only pin that matters is OM5. Pins OM[4:0] determine which of the 4 different OneNAND boot modes is used, and that mode is the same regardless of OM5. So they are almost certainly just fixed. If OM5 is 0, the chip boots normally (directly from OneNAND). If it is 1, the ROM will first try to negotiate a UART connection, then try a USB connection, and only then (if I'm reading it right), fail over to a normal OneNAND boot.
So it's hard to imagine any scenario other than pin OM5 connected to the JIG output of the fsa9480.
From the Samsung source code linux/drivers/usb/gadget/fsa9480_i2c.h, there are a few interesting resistor choices (I'm not sure what the 5 bits represent; maybe they are for setting/reading the switch state over i2c) :
Code:
1 0 1 1 0 150K UART Cable
1 1 0 0 0 255K Factory Mode Boot OFF-USB
1 1 0 0 1 301K Factory Mode Boot ON-USB
1 1 1 0 0 523K Factory Mode Boot OFF-UART
1 1 1 0 1 619K Factory Mode Boot ON-UART
The 301K case (Factory Mode Boot ON USB) is the familiar "jig" people on xda use. But USB protocol is fairly complex, and since the whole idea of using the fsa switch is very non-USB compliant (the thing sends analog audio over D+/D- lines !) I don't think we can assume anything about what the ROM code does to "negotiate a connection". In addition, I think that all the people who have already looked into this were specifically trying to get into "download mode" (i.e., Loke protocol to talk with Odin). So who knows what else was going on beforehand.
I'm most curious about the behavior with a 619k resistor (Factory Mode Boot ON UART). The nice thing with UART mode is that we already know from TheBeano's thread that there is output at 115200 baud that appears at some point in the boot process. By putting a scope probe on the Tx line and simultaneously watching the text output in a terminal emulator, it should be very simple to see if any kind of negotiating is going on at an early (ROM) bootloader stage. Maybe it involves different baud rate, banging on a key, or pressing/holding a button. But (for someone with time and the right hardware) this is very do-able. If there is any hint of negotiation going on before the NAND-based bootloaders begin, we know we're onto something promising.
Like Odia pointed out, any stuff that we load during the ROM bootloader stage is not being flashed to the OneNAND; it is simply being loaded into RAM and executed. So even with no clue how to write a bootloader, I can imagine writing a "hello world"-grade program to, say, toggle a GPIO. That would clearly establish that the UART bootload procedure works.
So I think its an exciting prospect. Some of it is way beyond my abilities, but there are some easy steps early on that could really generate some intense developer interest.
I've got a I897 and a scope, but no connectors or cables to sacrifice. I may get a breakout board from Sparkfun to mess around with. In the meantime, I'd love to hear if anybody with a resistor/cable combo can sniff out anything interesting.
Also, I'm glad to see some response. I guess my title was a little cryptic, but at first it was just me and the crickets.
Found an interesting post about the ROM bootloader : http://blog.maurus.be/index.php/2011/01/samsung-i9000-irom-dump/
Another interesting link : http://chdk.wikia.com/wiki/GPL_Disassembling
Lets just say that the ROM code from my phone (Captivate) is definitely talking to the serial ports (all 4) and the USB OTG port.
I just sent off a quick order to Sparkfun for their USB micro-B breakout (the male connector with all 5 pins broken out) and a 3.3V FTDI (USB/serial) board. Just in case I find myself w/ too much time on my hands.
js22 thats actually sounds promising.
waiting for more updates.
Goodluck
e-fuse bits anybody ?
The one nagging concern I've been having about this scheme is the option built into the s5pc110 processor (our cpu) of "secure booting". The iROM code checks a set of "e-fuse" bits, and if one of them is non-zero, it uses the rest as an encryption key to verify that the bootloader it loads is signed. The e-fuse bits, as their name implies, are write-once. After the phone has been configured for either secure or non-secure booting, that choice cannot be altered.
I have been kinda assuming that secure booting is not enabled, b/c there is a similar option for JTAG access, and we know it is not enabled. Also, the phone is running an open-source OS and there is no real infrastructure in Android for DRM. Basically, if there is nothing to protect, why bother ?
After poking around in the data sheet, I haven't found anything that specifically says : "this is where you can read the e-fuse bits". I did, however, see a region of SFR space located at 0xE0E0_0000 that is called SECKEY. The boot ROM checks the values of several words near the start of this area, and takes a different branch if it finds any non-zero value.
I tried a viewmem dump of this stretch of memory, and got all zeros.
So either :
a) my Captivate does not have secure booting enabled, or
b) I don't know what I'm doing.
Does anybody have any more info on the e-fuses ?
Oops. I just checked and any read from the SFR address range (0xE0E00000 and up) returns zero. At least if you're using viewmem.
js22 said:
The one nagging concern I've been having about this scheme is the option built into the s5pc110 processor (our cpu) of "secure booting". The iROM code checks a set of "e-fuse" bits, and if one of them is non-zero, it uses the rest as an encryption key to verify that the bootloader it loads is signed. The e-fuse bits, as their name implies, are write-once. After the phone has been configured for either secure or non-secure booting, that choice cannot be altered.
I have been kinda assuming that secure booting is not enabled, b/c there is a similar option for JTAG access, and we know it is not enabled. Also, the phone is running an open-source OS and there is no real infrastructure in Android for DRM. Basically, if there is nothing to protect, why bother ?
After poking around in the data sheet, I haven't found anything that specifically says : "this is where you can read the e-fuse bits". I did, however, see a region of SFR space located at 0xE0E0_0000 that is called SECKEY. The boot ROM checks the values of several words near the start of this area, and takes a different branch if it finds any non-zero value.
I tried a viewmem dump of this stretch of memory, and got all zeros.
So either :
a) my Captivate does not have secure booting enabled, or
b) I don't know what I'm doing.
Does anybody have any more info on the e-fuses ?
Click to expand...
Click to collapse
Its using none secure boot and your quite right JTAG access is also none secure.
So, the source code to the IROM would answer all our questions.
It would probably take me a week to reverse engineer it, unfortunately, I don't have the time right now.
The I9000 is a fairly open platform. Would samsung themselves be prepared to give this source code out.
If we could get to a point where any hacker could un-brick their own phones without even having to unscrew the case, using pin 4-5 resistors, and a 3 Volt UART cable or a USB cable, developers would be much more willing to experiment more.
I have a method to force the IROM to try alternative boot methods, and specifically not run the PBL, SBL, but without more information on what to try in order to talk to the IROM directly, is it difficult to proceed further.
To force IROM to ignore PBL and SBL, just do a heimdall dump in Linux and press CTRL-C half way through. It results in a bricked phone, with only the IROM working. I have been told a 301K Resistor will help switch it back to loading PBL and SBL but I have not tested this yet.
Does anyone have contacts within Samsung that might be able to help, or shall I try to use my contacts to source the information?
The IROM looks like it would try to use the USB in OTG mode. Thus expecting the external USB device to be a gadget and not a PC Host. This can have advantages and disadvantages.
1) Disadvantage: Not many Android developers will have USB Gadget test hardware.
2) Advantage: The I9000 itself might be a good USB gadget development tool. Changing the kernel usb driver so that it can respond correctly to commands from the IROM over USB. Potentially, we could then use one I9000 connected directly to another I9000 and the healthy I9000 could automatically unbrick the bricked I9000.
For development though, I think using the UART option would be easier to do, as any Android developer would have a serial port, and then just need a RS232 levels RS232 to 3.3V levels converter, wired up to a Micro-USB connector and the correct resistor on the ID pin.
It is also easier to write a Serial port controlling application than USB controlling applications.
I think that we would still need to reverse engineer the IROM in order to analyze it and discover what the protocol is for loading software directly into the I9000 RAM and running it without going through the boot of IBL/PBL/SBL.
We would then need to write our own boot loader to put in this RAM in order for it to reach a mode where it can program the flash and possibly provide the same functions as the current "download mode".
If we can get it as far as partitioning, and writing the IBL/PBL/SBL. That would be enough.
There are other advantages of this IROM interface. We could use it to root the phone by writing an "su" to the /system folder.
A stepping stone to this could be a "hello world" program that simply controls a GPIO. For example, flashing the LEDs that light the BACK key or writing a message to the screen.
Having the current source code to the IBL/PBL/SBL would really help here as it contains the routines to display characters and graphics on the display etc.
I'm partway through disassembling the ROM boot code, it's pretty interesting! The serial protocol is definitely in there, but I haven't worked with ARM code before so it may take some time. If anyone has already worked it out or is nearly there please let me know now!!

Reducing the Nook to an eInk rendering device; how best to do?

Hi all,
I'm attempting a home project, which is to create a workable monitor out of 4 Nooks, taken apart with the eInk panels abutting each other directly. The idea is for the 4 Nooks to connect to a desktop via wifi, where a fake display driver (which I'm reasonably certain I can pull off) sends the respective image parts to the Nooks.
Now, the big question is the Nook side of things. What I need to do is to boot straight into the rendering application. This could be either a Android or a Linux application. The stumbling blocks are:
- (I believe) the current rooting packages for Nook are all pretty manual. With a battery power failure you end up with the factory reset Nook. Ideally the whole boot sequence would come off the SD card.
- I'm not even sure you can have a startup app in Android. Another issue would be to have the Wifi configured by default; easy to do in Linux for sure on both accounts
So, I've seen the thread about Ubuntu on Nook, but it seemed the switch happens after you booted the Nook into rooted Android. Has anybody managed to boot into Ubuntu (or some other Linux distro) straight from SD card?
So many questions!
Take a clockwork startup SD image and dump sdlvnc on it via init script?
Interesting suggestion, I'm looking into that, thanks!
One snag though, the recovery image doesn't support Wifi, does it? I see though that USB is activated, so maybe I could get the data connection through that.

Constantly Updating List of Wanted Features

An updating list to help give the Mad Catz guys an idea of what we want out of the OS. Please anyone post the features that you want and I'll update the list.
Read off of multiple USB flash/HDs ▬ currently recognizes multiple disk drives but does show mounted
Read and write support for NTFS file format
exFat Support
Webcam support(UVC)
USB audio input/output channel option
hide soft button bar on soft button bar or otherwise easily accesable
power off/restart/sleep menu button on soft button bar or otherwise easily accesable
screenshot button on soft button bar or otherwise easily accesable
HDCP Kernel
USB power management tool - for shutting down power to usb plugs while device is in sleep mode
Gamestreaming ▬ Its coming
Gamepad stick support in recent apps android view
system settings switch to change right click on mouse to back button instead of just being read as left click
Good thread, happy with the product, but still room for improvements!
Please, add webcam support(UVC) !
http://support.madcatz.com/Knowledgebase/Article/View/434/172/can-i-use-a-webcam-with-mojo
You can't clam to be a top-set box with out it!
Also exFat support would be nice
It's the standard for USB portable drives.
While I agree with this:
http://support.madcatz.com/Knowledgebase/Article/View/427/172/how-to-turn-mojo-off
It's a portable device, so yes, please let us turn it off
Hardware wise:
The controller's gamepad/mouse switch.. it should be a raised tab rather then an indedent at the very least, I don't have the nails to use comfortably, it should be switchable with your thumb not your nail.
Also the screws on the controller aren't your standard phillips (+) screws, nor allen keys.
I like to open my controllers with a Precision Screwdriver set and clean the contact points, I know of others that do also.
For an "open" hardware device, this is the only sore point for me.
Lastly, most TV's now have a USB port.. the power specs to me looks like it could run off USB power:
http://support.madcatz.com/Knowledg.../172/what-is-mojos-range-of-power-consumption
Like android phones, use a USB cable with a USB adapter.. I have too many bricks in my power adapter
Having the DC in and the headphone jack next to each other is a pain, I have make sure I'm not putting DC in the headphone jack.
Having the MicroSD card under the HDMI makes hot swapping next to impossible, very hard to get to with the plastic molding so close.
MC some more feedback,
The android UI works okay in gamesmart mode, but there's just one thing that's frustrating me.
When holding down the mojo button to get to the listing of the running apps, the CTRLR in gamesmart mode can't traverse nor select an app.
If this could be fixed, then changing from game/mouse mode wouldn't be needed at all while using the andriod desktop/UI :good:
Cheers
dheku-00 said:
[*]hide soft button bar on soft button bar or otherwise easily accessible
[/LIST]
Click to expand...
Click to collapse
I really second this point, it is so annoying to have those buttons when watching a film with xmbc. In games a bit less, but still it sucks.
Also, most people are probably going to plug in a keyboard, at least from time to time, but it would be nice to have a gamepad-friendly virtual keyboard, like the one of SteamOS. I.e. search "SteamOS Controller Input" as I cannot post links
HDCP + kernel
I wasn't expecting HDMI HDCP, but I guess it makes sense.
It's a pain when trying to capture HD gameplay, but I guess that wont change.
oh And while I'm here, it would be really really really .. really cool and open of mad catz to one day realese the kernel source of the mojo (or just the config settings) so we can compile our own hardware support
I know the shield had their kernel on github, not sure what happened to it tho, great idea too!
Kernel would be great so we can compile in CIFS support to mount network shares in the OS!
Huh I thought releasing the kernal source sounded pretty wild but after seeing stuff like Motorola releasing the Moto G kit kat kernel this seems like something that Mad Catz should totally do.
dheku-00 said:
Huh I thought releasing the kernal source sounded pretty wild but after seeing stuff like Motorola releasing the Moto G kit kat kernel this seems like something that Mad Catz should totally do.
Click to expand...
Click to collapse
If I'm not wrong, they MUST release the kernel source code. It is just a Linux kernel with the android patches and maybe some custom modification. Because of the Linux license (GPL v2) any of us can ask for the code and the vendor must provide it at no additional cost.
HOWEVER, if the bootloader is not unlocked and/or you do not have root access then you cannot do anything with useful the sources: you can recompile the kernel, you can compile all the modules you want, BUT you cannot load the new kernel into the Mojo and you cannot insert the new modules into the kernel.
Nowadays many hardware vendors publish a semi-official way to have root access or to unlock the bootloader. Let's hope that the "hacking friendly" promise that Mad Catz put forward is not just a dishonest selling point.
Controller Keyboard input Method
http://img.gawkerassets.com/img/17ynanc1qocy1jpg/original.jpg
add root access inside rom
add usb slave mode for adb
dheku-00 said:
An updating list to help give the Mad Catz guys an idea of what we want out of the OS. Please anyone post the features that you want and I'll update the list.
Read off of multiple USB flash/HDs ▬ currently recognizes multiple disk drives but does show mounted
Click to expand...
Click to collapse
I have a usb hub plugged into my 2.0 port with two usb drives attached. Both show as mounted in the settings (along with my SD card). Although I can read off of my usb drive via file explorer, I can't read off the drives with emu apps such as nes.emu and fpse etc. So I just use my usb drives for storage copy files to the sd when needed.
As a hard drive junkie, I'm gonna throw in a feature I'd like to see: Cut the power to USB when the unit goes into sleep mode if an external drive or thumb drive is detected. My tablet does this, and I'm able to disengage my hard drive without worry of data corruption...
Unfortunately on the MOJO my drive constantly runs (even after I unmount it)...Is there a way to cut off power when ejecting/unmounting a drive? Cut power when the system goes to sleep? Both of those are kind of important.
mherma said:
I have a usb hub plugged into my 2.0 port with two usb drives attached. Both show as mounted in the settings (along with my SD card). Although I can read off of my usb drive via file explorer, I can't read off the drives with emu apps such as nes.emu and fpse etc. So I just use my usb drives for storage copy files to the sd when needed.
Click to expand...
Click to collapse
When you say show up as mounted in the settings what do you mean? I have a usb hub and have 2 hds plugged in but since when a disk drive gets mounted and it's 'home directory' is mnt>usbdrive. Whatever disk drive was plugged in first gets to be in this folder and the 2nd plugged in drive while recognized has no home directory.Thats why other apps can't recognize multiple disk drives only one usb drive. What I want is a mnt>usbdrive>usb1, usb 2, etc directory setup.
What is the likelihood that in a future update (if it happens) that they will include an option to HIDE the soft button bar.
This is a deal-breaker for me. I like my movie-watching experience and game playing experience to be immersive. Having a menubar there ALL THE TIME might as well be a form of adware as far as I'm concerned.
What's the point of a micro game console experience if it always looks like YOUR SMART PHONE is streaming to TV because the menubar is there to remind you? How stupid can they be?? Did they just release this a proof of concept? To say, "Hey, look what we did! Screw the customer experience..."
Please tell me "not to worry" or a "future custom rom" or "mod" will be "released soon to address."
If not, I'm returning this hunk of junk when it arrives.
I'll have ur lady junk!
wow
I'll give you $150USD plus postage if it's unopened
Pleiades7 said:
What is the likelihood that in a future update (if it happens) that they will include an option to HIDE the soft button bar.
This is a deal-breaker for me. I like my movie-watching experience and game playing experience to be immersive. Having a menubar there ALL THE TIME might as well be a form of adware as far as I'm concerned.
What's the point of a micro game console experience if it always looks like YOUR SMART PHONE is streaming to TV because the menubar is there to remind you? How stupid can they be?? Did they just release this a proof of concept? To say, "Hey, look what we did! Screw the customer experience..."
Please tell me "not to worry" or a "future custom rom" or "mod" will be "released soon to address."
If not, I'm returning this hunk of junk when it arrives.
Click to expand...
Click to collapse
FYI: http://forum.xda-developers.com/showpost.php?p=49792211&postcount=7
Pleiades7 said:
What is the likelihood that in a future update (if it happens) that they will include an option to HIDE the soft button bar.
This is a deal-breaker for me. I like my movie-watching experience and game playing experience to be immersive. Having a menubar there ALL THE TIME might as well be a form of adware as far as I'm concerned.
What's the point of a micro game console experience if it always looks like YOUR SMART PHONE is streaming to TV because the menubar is there to remind you? How stupid can they be?? Did they just release this a proof of concept? To say, "Hey, look what we did! Screw the customer experience..."
Please tell me "not to worry" or a "future custom rom" or "mod" will be "released soon to address."
If not, I'm returning this hunk of junk when it arrives.
Click to expand...
Click to collapse
What's funny is I got in on a pretty could deal on it. On clearance for $160, free postage ;-p. There was only two but what surprised me (and made me cautious) is how does something go on clearance after only be out such a short time? There was only 2 left and I got in on the last one.
We'll have to see. Might actually think about that offer if I can break even. But if that work around works for me, then at least I fixed the deal-breaker for me. Hopefully the MOJO devs are listening and will fix ALL of this in their supposed update. My fear is will that update happen at all.....hopefully there is enough of a homebrew/mod community out there to at least squeeze out one custom rom that will give the users the experience they deserve. My 2 cents.
Please add this issue to the list!
from: http://forum.xda-developers.com/showpost.php?p=49512727&postcount=4
gwaldo said:
Mad Catz Nate said:
Bonus tip: Press and hold Home button for 1 sec brings up the Recent Apps screen.
Click to expand...
Click to collapse
:good: It's a great feature, I use it a lot, even in gamesmart mode it works!
Shame you have to switch to mouse mode to select an app.. is there any chance of better navigating the android UI in gamesmart mode in the new Android 4.4?
Click to expand...
Click to collapse
This is what I'm saying, you switch out to desktop, then go to tasks but can't pick an app in game mode.
You have to switch back to mouse mode, pick the game and switch back:
http://www.youtube.com/watch?v=H0PvKq1CcMo&t=21m0s
If there's one issue kitkat fixes, I really hope it's this one:good:

NuVision - TMAX ( TM800W560L / TM800W610L ) Information

I wanted to start a thread to solve some minor headaches regarding NuVision tablets. Specifically the TM800W560L, but may include others.
The manufacture is TMAX, and the brand is NuVision. Some of you have these. I picked up the 560 at the Microsoft store, a couple of days before Christmas, 2016. I ghosted the factory image as backup, and wiped clean to start from scratch, using Windows 10 Pro.
Let's say my hack started at the Microsoft Store, social engineering a sale of $25 for the unit. Yes you can get these for free, if you were buying a Windows Surface, but why would you want this if you have a Surface? It's such a terrible device to support for the sod who got one...
This unit is the most similar to the HP Stream 7, MSRP $79. I have a couple of these as well. I a bit miffed that, although the CPU is 64-bit, we can only use 32-bit Windows. This produces some problems as only 64-bit drivers are readily supported via Windows Update. I have made use of some of these drivers for the 560 to solve some problems.
Lets get down to the issues at hand:
1. The Camera drivers.
OV2680 ( OVTi2680 Ven_OVTi&Dev_2680 )
OV5648 ( INT5648 Ven_INT&Dev_5648 )
Problem: For every Windows Feature Upgrade, the drivers are wiped out and replaced with some non-functional version. Frankly, I don't think I have been able to get the cameras to work at all. At least, not by using the Windows 10 Camera App. I pulled a litany of drivers from various sources and I can get them to at least seem okay, as far as the device manager is concerned, but not much beyond that.
2. Intel Chip Set drivers.
Problem: Much like the camera drivers, for every Windows Feature Upgrade, the chipset drivers are updated as well, but then the supplied drivers are non-functional. This results in the lost of touch and gravity sensors, among other functions. This requires the use of a USB OTG adaptor, (Yes you can have USB and power at the same time!) and reinstallation of the original chipset drivers.
All in all I get the sense this is abandoned technology, and I feel that no-one particularly cares. In addition, I am a little bored with this thing, and I would like to see if I can make it better.
If anyone has questions or advice, I am open minded, but it should be sincere.
Thanks,
I picked the TM800W610L. I will see if the camera drivers and chipset drivers from this model will work for the 560. However NuVision has reduced their driver set to bare bones. In some respects this is admirable, but in my case, it leaves little hope that there's any 32bit support.
For the uninitiated, the 560, although has a 64bit CPU, the BIOS only boots 32bit Windows. This is the same situation on the same CPU, for the HP Stream 7, which I am also leveraging for support.
I have been able to dig around a little bit, regarding the BIOS firmware, for both models. Geekbench is a nice repository of data, for a shallow dive.
This is what I have, for known BIOS revisions:
I have the installer for version H, supporting the 610.
I can backup version R, installed on my 560.
If anyone is interested in an "update" from an older version, it would be interesting to get a backup of what you currently have in exchange for an update.
TMAX TM800W610L
JK-BI-8-HLK80CR100-C34A-101-F-LCD3 08/01/2016
JK-BI-8-HLK80CR100-C34A-101-H-LCD2 ‎03/02/‎2017
TMAX TM800W560L
JK-8-BI-PX5S10TCR100-X534A-001-G
JK-8-BI-PX5S10TCR100-X534A-001-H
JK-8-BI-PX5S10TCR100-X534A-001-L
JK-8-BI-PX5S10TCR100-X534A-001-O
JK-8-BI-PX5S10TCR100-X534A-001-P
JK-8-BI-PX5S10TCR100-X534A-001-Q
JK-8-BI-PX5S10TCR100-X534A-001-R 08/25/2016
JK-8-BI-PX5S10TCR100-X534A-001-T
I just picked one of these up myself (the TM800W560L) and am working on getting it upgraded to Pro (and put on the Insider preview program, because I like my devices consistent) at the moment. I was a little sad to see that these machines have 32-bit UEFI effectively making the 64-bit enhancements useless and limiting software support to 32-bit only (that immediately threw out my plans for using WSL/Ubuntu on the thing since Windows Subsystem for Linux is a 64-bit only feature), but after a couple hours with this tablet, I'm really enjoying it. It took about 4 hours to install the latest batch of updates, but unlike your own experiences, all my drivers still worked after the upgrade from 1511 to 1709 (Build 16299).
I did see some very negative reviews for the product on Amazon, mostly about customer support, so I knew what I was getting into when I ordered it.
EDIT: My gripes about the device were apparently for a defective device. Got a new one after the note below caused a brick and have had a much better time with it.
Important! For my first real contribution to this thread, I wanted to give a warning, don't mess with the BIOS options if you can help it on these devices. I simply changed the "Boot to State when Power is resumed" from G0 to S5 and the tablet no longer powers on. It's charging, but nothing is happening from the buttons. So I guess it's to the exchange with this one.. Learned for the next one though :/ [Update: Turns out that it caused an actual brick, lesson learned, don't mess with the Power Management firmware settings! There's no good way back from a brick caused by UEFI firmware settings, you apparently have to reflash the BIOS using an SPI programmer to fix those. These manufacturers really should be designing their firmware better (and not using 64-bit firmware on a 64-bit processor, shame on them for that travesty!)]
Edit 2: I ran into an actual issue that I can reproduce pretty frequently. With the native Windows auto-rotation on, going from Landscape to Portrait (or vice-versa) leaves the touchscreen in this weird state where it's still looking for touch input from the previous orientation. Not sure if this is a Windows 10 version 1709 build 17043+ bug, but it appears to be, as the issue does not happen if I turn rotation lock on and manually change orientation. It's an interesting issue to say the least. [It appears after browsing the feedback hub that this is indeed a Windows 10 Insider bug, if you are affected by this, turn off auto-rotation and then manually rotate the screen using Settings, the touch input works as expected then.]
Hi, thanks for the great info! I'm trying to start a little robot makerspace and wanted to mount these little cheap tablets on mobile robots. The only issue appears to be not being able to use USB devices while supplying external power to the device. It sounded like you mentioned this is somehow possible, could you elaborate on that?
Thanks!
Jesse
ShadowEO said:
Edit 2: I ran into an actual issue that I can reproduce pretty frequently. With the native Windows auto-rotation on, going from Landscape to Portrait (or vice-versa) leaves the touchscreen in this weird state where it's still looking for touch input from the previous orientation. Not sure if this is a Windows 10 version 1709 build 17043+ bug, but it appears to be, as the issue does not happen if I turn rotation lock on and manually change orientation. It's an interesting issue to say the least. [It appears after browsing the feedback hub that this is indeed a Windows 10 Insider bug, if you are affected by this, turn off auto-rotation and then manually rotate the screen using Settings, the touch input works as expected then.]
Click to expand...
Click to collapse
I can confirm the strange rotation behavior, on the 610L. I got out of it by hooking up an OTG cable, keyboard and mouse.
Boot up and log in, rotate to landscape and reboot, not messing with the touch screen. After the reboot, the touch screen worked in landscape, and seems to be in sync again.
I installed 17083, that was a chore, and all seems well. However I am getting app crashes, which I think is an OS issue. (currency ran sfc /scannow - no probs. And dism /online /cleanup-image /startcomponentcleanup /resetbase) Next is to run chkdsk and reboot... I have no real hope this will take care of things until the next fast build, which could be in a week or two at the moment.
To get the recent build installed, I had to run a custom script, to clean up all the known temp and softwaredistribution/downloads folder. Additionally I removed the upgrade assistant and one drive. Then ran the Windows Update trouble shooter, and ran (compact /compactos:alwasy) and set NTFS compression on the C drive, ignoring all errors. I was able to get 16GB free, and finally able to install the latest Fast Insider's Build.
Some of these things are not recommended, however extreme conditions require extreme measures... 32GB MMC Crive is a bit restricted.
jjurban55 said:
Hi, thanks for the great info! I'm trying to start a little robot makerspace and wanted to mount these little cheap tablets on mobile robots. The only issue appears to be not being able to use USB devices while supplying external power to the device. It sounded like you mentioned this is somehow possible, could you elaborate on that?
Thanks!
Jesse
Click to expand...
Click to collapse
I am having mixed results here. I plainly am not getting good results with an OTG/HUB combo with three power settings. I am not getting power and USB/date to the micro USB port, as the same time. It's either/or.
610L - Nope, one or the other. I originally thought it was possible, but it's not.
560L - Nope, just confirmed, same result as the 610L - will charge in power+data mode, while completely off.
I have confirmed as well, 17063 build, on both the 610L and the 560L, has this strange screen rotation, mouse, touch screen orientation lock thing. That is, the screens rotate, but the touch alignment does not. The mouse pointer only moves in the same space as if it was prorate mode. Touch is fully prorate mode, while the screen rotates to landscape. Then got the BSOD (green screen)... Rebooting while in landscape mode, (requires a mouse), does fix the issue. Touch alignment comes back with screen rotation. (works on both models)
I see a future problem which I think we will have to address on our own. No help from TMax/NuVision I suspect.
When the microcode is finalized by Intel, we will have to come up with a solution to update the code, to protect against Meltdown and Spectre.
I have doen this before, prior to Compaq merger, on the HP VLi8 and VL400. But I don't know if it's possible to inject new microcode on the TMax firmware/bios update.
As you can see above, I have listed a number of firmware for our tablets, I am hoping we can work with some recent purchasers and see if there's an arrangement, where we could come to trade.
The USB OTG ACA support is weird. There are times it does work and times it does not. I have two USB OTG hubs that support supplying the tablet power while USB OTG is in use. With one hub, this works fine; with the other though, it will either not charge, or it will claim to be charging, but I assume not receiving enough power on the tablet side to charge the tablet enough while it's in use. It does however work, I have used it multiple times already with my 560L.
As for storage space, yes, I recommend running
Code:
compact /compactos:always
after each update. You can also get away with storing your user profile on the MicroSD card (and applications, thus rendering the internal storage an OS only drive)
As for my previous complaint about screen rotation, this disappeared after the upgrade to 17083. It was confirmed to be a problem with the Desktop Window Manager service by Microsoft and even had a fix posted to the Feedback Hub entry for the issue.
@CraveTech It may indeed be possible to modify our firmware, but the risk of doing so may outweigh the benefits. Windows already has user-mode mitigation of Spectre and Meltdown that isn't dependent on the microcode to be installed. We also have to worry about the possibility of bricking the devices without recovery (at least in my case, as I don't have access to an SPI programmer, nor do I feel comfortable cracking this thing open) seeing as a single option change in the BIOS effectively bricked the device.
anyone try to unrar the current image from nuvision for model w610L
test the archive and i get errors.
same with drivers.
tried newest unrar and also older version.
wtf??
ShadowEO said:
The USB OTG ACA support is weird. There are times it does work and times it does not. I have two USB OTG hubs that support supplying the tablet power while USB OTG is in use. With one hub, this works fine; with the other though, it will either not charge, or it will claim to be charging, but I assume not receiving enough power on the tablet side to charge the tablet enough while it's in use. It does however work, I have used it multiple times already with my 560L.
Click to expand...
Click to collapse
What is the model of the one that works for you?
I just got a TM800W610L the other day and have been looking for one that works with this tablet.
Thanks
netstat_EVO said:
What is the model of the one that works for you?
I just got a TM800W610L the other day and have been looking for one that works with this tablet.
Thanks
Click to expand...
Click to collapse
the exact hub I had the best experience on so far (I am still buying and trying hubs) was this one: https://www.amazon.com/gp/product/B00LTHBCNM/ref=oh_aui_detailpage_o02_s01?ie=UTF8&psc=1
It charged when it said it was charging and had no qualms with the other devices. There's a Cerrxian branded 4-port rectangular hub which doesn't seem to work well at all for my devices. Even when the Cerrxian says the system is charging and the system shows it, it still dies. I assume that it just isn't supplying enough power to the VBUS :/
ShadowEO said:
the exact hub I had the best experience on so far (I am still buying and trying hubs) was this one: https://www.amazon.com/gp/product/B00LTHBCNM/ref=oh_aui_detailpage_o02_s01?ie=UTF8&psc=1
It charged when it said it was charging and had no qualms with the other devices. There's a Cerrxian branded 4-port rectangular hub which doesn't seem to work well at all for my devices. Even when the Cerrxian says the system is charging and the system shows it, it still dies. I assume that it just isn't supplying enough power to the VBUS :/
Click to expand...
Click to collapse
Interesting. I had seen that one on Amazon and quickly glossed over it since it had a switch for OTG/Charge, so I assumed it couldn't do both simultaneously. At $7 I'd say it's a cheap enough experiment though. Thanks for the info.
netstat_EVO said:
Interesting. I had seen that one on Amazon and quickly glossed over it since it had a switch for OTG/Charge, so I assumed it couldn't do both simultaneously. At $7 I'd say it's a cheap enough experiment though. Thanks for the info.
Click to expand...
Click to collapse
Ya I was surprised too, but it worked with my Nexus 7 and LG G2 with their ACA enabled kernels. I had to fidget with the switch a little before charging started, but I was able to confirm in Ubuntu Touch on the Nexus 7 that it still saw the USB devices via lsusb. I seem to have lost that exact hub within the past week or so, but I had used it last month to charge the tablet while reinstalling Windows from my flash drive with a keyboard and mouse attached. I can't testify that it actually charged the device since I hadn't been able to see percentages (being in Windows setup and all), but the charging indicator was on, the screen was as bright as Windows normally makes it when charging, and it didn't die while the device was at ~15% battery before starting the installation. The Cerrxian hub couldn't do that and the tablet died while attempting installation, So I assume it was charging the tablet, or at least provided enough power to keep the device's battery stable.
I also just bought another 3-port hub from Acasis, another Chinese company making these cheap devices, but so far, I have yet to get that hub to charge the device either. So it seems that this is a very specific type of configuration inside the adapter, but the device does support OTG+Charge.
That said, Windows itself (at least the desktop versions) does not actually support this feature according to Microsoft's USB driver documentation. That it works at all seems to be a bug in the USB driver, or perhaps the adapters are doing something strange to trick the device into pulling down it's own VBUS and using the external one, possibly independently from the OS (Firmware USB drivers maybe?).
Does anyone have screenshot of the BIOS main menu and the save and exit screen? I'm trying reset to the bios. I was messing MIPI and eDP. I thought eDP was meant for external display port.
lol I fixed it. I gamble on different version of this tablet. I press F3 and Left arrow key for yes and enter. Then I press F4 and Left arrow key for yes to save and restart.
snkchaos said:
Does anyone have screenshot of the BIOS main menu and the save and exit screen? I'm trying reset to the bios. I was messing MIPI and eDP. I thought eDP was meant for external display port.
lol I fixed it. I gamble on different version of this tablet. I press F3 and Left arrow key for yes and enter. Then I press F4 and Left arrow key for yes to save and restart.
Click to expand...
Click to collapse
Glad to see that you fixed it. I would recommend against modifying the firmware settings if you can avoid it, especially any power management settings as changing one of those can completely brick the tablet leaving you unable to even enter the firmware.
EDIT 2/27: I came across my other OTG hubs and have some bad news, it appears that the OTG+Charge works on the 560L, but doesn't on the 610L. Perhaps NuVision changed USB chipset revisions between models?
Just picked up the 610L last week for $66 as a small option to use a program I need mobile. Updated to 1709 after a struggle (why Microsoft, why?).
Ran great for a week and now it’s starting to freeze and BSOD with mainly “Clock Watchdog Timeout”.
Not really getting any indication of why, I know I can run a log dump, but I often can’t get it to stay on log enough. It will even hang and crash when trying to wipe/revert.
Anyone have any suggestions?
Been a long time since I was active around here
update:
Was able to locate the stock ISO files and made a bootable usb. It’s currently restoring back to OEM status.
The installer is another language, but it’s working.
I think I won’t be install updates until I finish this project I have to do.
Another update:
Getting an intel framework and thermal error in the logs, which I notice while the device gets hot while charging and operating. If I let things be without charging it stays cooler.
I’ve only had had one BSOD and it was for System Service Exception but the logs don’t show much.
I let things update overnight with it plugged in and the screen off and it was still operating this morning.
Not sure if this is a driver issue or not. Seems that way.
Been trying to restore this but get an hour into the nuvision software and it times out. Anyone have an idea how to get this back to stock?

Categories

Resources