Wednesday, 18 May 2016

Fellowes 99ci repair part 1

I picked up a reconditioned Fellowes 99ci shredder a while ago as it was significantly cheaper than a brand new model. For a while it worked well enough but as shredding isn't something I do particularly often by the time it started to have issues it was of course out of warranty.


Thursday, 12 May 2016

MX150 board issues

If you're one of the people who has downloaded the MX150 board files I uploaded earlier, please accept my apologies. I realised that I've managed to break the PPS mapping on the board definition files which makes working with the board more frustrating than it should be. Once I've fixed the problem and tested it thoroughly, I will make the files available again and put up a new post.

The bootloader itself is not affected by this, so any chips you've flashed it to will be fine.

Tuesday, 10 May 2016

MX150 "board"

I said that I would publish the bootloader, board definition files and pinout map for the PIC32MX150B chip within the MPIDE environment, and here it is. You can find the hex file for programming a blank chip, the source for the bootloader, and the three board files ready to go. The part I've been using these with looks like this so far:
Minimal PIC32MX150 setup!

Toying with PIC32MX150

For a project I'm toying with, I've needed a microcontroller with three comparators onboard. In this case, I've been playing with 28 pin PIC32 device, specifically the PIC32MX150F128B. Admittedly, this is mostly because I already have a few in the parts box! In a nutshell, you get 128K of FLASH, 32K of RAM, 5 PWM pins, 2 UARTs, 2 SPI/I2S interfaces, 20 GPIO pins, a charge time measurement unit and a 1Msps ADC with a 10 input mux, and no need for a crystal. In this post, I'm going to run through the PIC32-avrdude-bootloader, and MPIDE setup I needed to do to get this part up and running.

Friday, 17 April 2015

Upcycling an edit controller

Some time ago (2013!), I picked up an old Panasonic edit controller (VW-EC300) that no longer worked. This edit controller originally controlled  a couple of Panasonic VCR decks, and let you build up an edit list and write it out to videotape. These days, we tend to use computers rather than VCRs, so it's time to see if we can make it talk USB!

Wednesday, 11 March 2015

Sunluxy DVR mkII - telnet & root password

Just a quick update on the Grain Media supplied firmware for the new Sunluxy DVR. Unsurprisingly for a cheap bit of kit like this, the security is rather wanting. Everything runs as root and of course telnet is available.

Escape character is '^]'.

GM login: root
Password:
Welcome to

    _____    __      ___       __     ___       _     _    _
   |  ___|  /  \    / __ \    /  \   |  _ \    /  \   \ \ / /
   | |___  / /\ \  | /__\ \  / /\ \  | | \ |  / /\ \   \ V /
   |  ___|| |__| | |  _   / | |__| | | | | | | |__| |   \ /
   | |    |  __  | | |  \ \ |  __  | | |_/ / |  __  |   | |
   |_|    |_|  |_| |_|   \_\|_|  |_| |___ /  |_|  |_|   |_|

For further information check:
http://www.faraday.com/


Sunday, 1 March 2015

Sunluxy DVR mkII - quick firmware mod investigation

The last post in this series saw the firmware being dumped from the device. This post looks at the format of the data and some annoyances that were encountered while trying to write a modified image back to the device.

One of the first thing I tend to do whenever I'm investigating a file is to generate an entropy plot. This habit developed from years of reverse engineering malware samples where a simple entropy plot would give you a lot of information about the next steps you'd probably be taking. For instance, packed executables would look significantly different to non-packed samples and files with appended data (think self-extracting archives or tools such as AutoIT) would have the interesting functionality contained in appended data (data that resides outside of the section tables). These are just two basic examples, but I can't stress how useful these graphs can be.

Back to the task at hand, the dumped firmware. The entropy plot looks like this: