Doorgaan naar hoofdcontent

CLP-300 toner programmed obsolescence and Verbatim PowerBay NAS hacking

Stuff I have been occupied with last few weeks,
and that I'm planning to write my findings about:

- Samsung CLP-300 Toner reviving:
The Samsung CLP-300 is a nice color laser printer, except that it has programmed obsolesence. The toner and the printer contain an EEPROM memory, which accounts for the amount of pages printed and so. They become invalid after a predefined number of pages. (About 1000 i think).
The good news is, that this is a simple I2C EEPROM memory, and that it can be re-programmed with a few tools. I have succesfully reprogrammed a few toners to behave like new ones last night, using an Arduino One and information lying around the Internet. Details will follow.

- Verbatim PowerBay NAS hacking:
My dad has a Verbatim PowerBay NAS lying around, which was pretty crippled in functionality and performance. That's why it's never really been used to do anything usefull.
I tried to "break into" the system, software-wise, but couldn't find an easy access... (no telnet, no ssh, no nothing).
Therefore, I opened up the NAS to see it's guts. It's sporting Marvell 88F6281-microcontroller core, and a motherboard that looks like Marvell's reference designs. (with a few differences, of course)
I quickly found the serial connections on a 5-pin not-soldered header, and it gave access to Marvell's U-Boot version. This was nice, as it opened up possibilities such as booting a custom linux distro for ARM's. Of course Debian, I tried ArchLinux which is my favourite flavour. This was successfull, except that I had to boot from TFTP all the time. Not especially nice for a NAS. The u-boot version was so old, it could not boot from a usb-storage device. I decided to upgrade u-boot, which is risky business. I compiled the newest u-boot from git and flashed it though u-boot itself. Risky indeed, since this mostly bricked the NAS.
Since then, I had to look further, I was looking for the JTAG connected on this board. I though I found a standard arm 10-pin JTAG connector, but measuring around a bit, it was clear that this wasn't the case. Bummer. I have manually tried all sorts of combinations of the JTAG pins with my Altera USB Blaster clone and OpenOCD and UrJTAG, but with little success...
Next plan is to brute force all JTAG combinations with the help of my Arduino One and the JTAGenum project. Let's hope for the best!

Reacties

Populaire posts van deze blog

[RPi4][ Using the PiMoroni Fan Shim on LibreElec including the LEDs!

I recently bought a brand new Raspberry Pi 4, and wanted to try Kodi on it. There is only one Kodi-distribution which has more or less decent support for RPi 4 at the moment, and that's LibreElec (although still Alpha). Since the RPi 4 is famously overheating and throttling without a fan or at least a heatsink, I got a PiMoroni Fan Shim. Nice piece of hardware, but their library cannot run on LibreElec, because they do not support installing python libraries through pip etc... On LibreElec, the whole rootfs is a read-only squashfs image. So there's no way you can install the Pimoroni python library on LibreElec, but I found an alternative: I found Phil Randal's blog at  http://www.philrandal.co.uk/blog/archives/2019/07/entry_214.html , where he described how to get at least the Fan portion of the Fan Shim working on LibreElec. I decided to build on that, and port the LED functionality to LibreElec as well, without the need for "pip install" or a

Arch Linux: Fixing empty/blank windows for graphical applications that require root

When running applications such as "unetbootin" or "tuxboot", you might get a blank window, instead of the actual application. Even when running it through "gksudo", or having a decent polkit running (e.g. inside Gnome). E.g.: This is because these application use MIT_SHM (Shared memory), which for some reason does not work when running graphical applications as root, while being logged in as a regular user in X. The solution is to disable MIT_SHM. E.g.: $ sudo QT_X11_NO_MITSHM=1 tuxboot

The excellent JTAGenum for Arduino

As I said before, I've been fiddling with finding the JTAG port on a Verbatim PowerBay NAS. I did not succeed (yet), but have had the chance to try out JTAGenum for Arduino. It is an excellent JTAG pin finder (and other things too). Check it out here: http://deadhacker.com/2010/02/03/jtag-enumeration/ The guy's description of the tool is: 1. Given a large set of pins on a device determine which are JTAG lines 2. Enumerate the Instruction Register to find undocumented functionality 3. be easy to build and apply It's really easy to use, but it did not manage to find the JTAG pins on my device. There might be another problem, such as: - JTAG is disabled once the device is powered up - The pins I'm fiddling with are not JTAG pins - I ruined the circuitry already - I'm just not trying hard enough Back to JTAGenum: Since Arduino IDE 1.0.1 , some things have changed and so the GIT version of JTAGenum would not compile as-is. Therefor the JTAGenum sketch had