OKI C3200N Color LED Printer Toner Reset

I’ve had my C3200N printer as a workhorse for a decade until it died. Before I toss out the service manual and the instruction to reset the toner, I’ll put it here for those who still got mileage left for the printer

Here’s the service manual:
http://upload.evocdn.co.uk/olivetti/uploads/download/d-ColorMF200-240_sm_Y105560-07.pdf

Back up here:
C3200N_Service_Manual

The important pages where the service menu is in page 124-125 (Maintenance Menu), 134-136 (Menu Tree), 152 (Factory mode = Do not cut fuse of consumables)

 

Summary (https://www.fixyourownprinter.com/forums/laser/23029):

*** Do NOT use NV-RAM INITIAL RESET. It’ll screw things up (like losing MAC address). You can go into the service menu to reset toner, drum, fuser and belt individually***

Here’s the directions by user “Nono” which I think it’s the best:

A C3200N here…

I never wanted to do the NVRAM complete reset because I was scared of losing the network MAC address as mention somewhere else on this forum. And basically controlling the consumable level independently was interesting… My c3200n printer was bought last month (09/2006), guessing here that the bios may be different depending on release date (this walkthrough might not work for everyone).

Sooooo, after much button pressing, restarts and coffees.. here it is:

Get to the standard “Diagnostic mode” as describe on this thread:

1) Turn off printer.

2) Turn on printer, while holding the + and – buttons.

3) The LCD Shows “OKI User”, Scroll to “Engine Diag Mode”, press “enter”.

The display shows “Diag Mode 01.02.02 S-Mode” as mention multiple times on this thread.

At this point you should wait for the initialization cycle to complete. I mean for all the motors and gears to have finished their noises and cycles – otherwise you will end up with a LCD switching between two different info screens – not a big deal but still annoying.

Now we want to go in “regist mode” by:

1) Pressing the “Online”, “Cancel”, “Enter”, “-” and “Back” AT THE SAME TIME (not in any sequence – at the same time). Yes! That is 5 buttons.

2) After within two seconds the LCD menu will show “READY”. If it doesn’t, release button and repress buttons again.

3) The buttons release sequence is important. So, read this before letting go your five fingers: Release the “Enter” button first and THEN the four others. LCD is still showing “READY”.

4) Press the “Online” and “Cancel” button at the same time BRIEFLY. Don’t wait before pressing them after the five fingers sequence otherwise you will miss your time slot.

You can always switch back from the “READY” to the “Diag Mode 01.02.02 S-Mode” menu by pressing the five buttons again.

Don’t laugh. I know it seems a lot of gymnastic. Well I guess they didn’t want the user to find that one easily.

Now you see “Eng Diag Level 2”

Taking from someone else on this thread (with some modifications for the c3200n):

Press either the + or – button until “CONSUMABLE COUNTER SET” is displayed, press the Enter button; you are now in the menu to set various consumables.

1) Press either the + or – buttons to scroll through the various consumables, at the desired consumable (ie. “K-ID UNIT …” for the Black Image Drum Unit, “C-Toner” for cyan toner, etc.), press the Enter button and the last digit of the count will start flashing.

2) Press the Cancel button to decrease the digit amount or press the On-line button to increase the digit amount; press the + or – buttons to move along individual digits in the count. Note that it will not show the remaining but the usage (100\% means it is empty).

7) Once the count is at the level you desire, press and hold the On-line, Cancel simultaneously until the numbers stop flashing; you have reset that consumable’s count to the number you specified. Note that you may end up with a different value then the one that was entered when saving. The printer engine is probably jumping to the nearest registered/acceptable value. If someone find a way to save the exact value, let us know.

8) Press the + or – buttons to move to the next consumable and repeat at step 5.

9) Once all consumable counts have been set to desired amounts that are below their end-of-life thresholds, you can use the Back, +, & – buttons to exit through the menus (reverse of steps 2 through 4) until “INITIALIZING” is displayed. Or turn printer off and on.

10) You’re finished! Now log in to the web interface with your browser and check to see the remaining life of your consumables.

There is another way to get to the “Eng Diag Level 2” menu – I did it at one point but wasn’t able to reproduce. But this method worked for me even if you may need some practice. You can also get to level 3 and level 4 after the release of the five fingers step by pressing something else then the “online” and “cancel”.

Good luck.
Nono

by unknown on Oct 19, 2006 at 12:46pm

 28 total views

termdd.sys BSOD because of remote hack attempts

Recently my computer keeps ‘randomly’ getting BSOD over “termdd.sys” and “IRQL_NOT_LESS_OR_EQUAL”. Upon some research on “termdd.sys”, I noticed there’s a RDP heap corruption attack (https://securitynews.sonicwall.com/xmlpost/rdp-vulnerability-cve-2019-0708/) for RDP services.

In the past, I opened up my computer’s RDP service to the wild (bad practice) by routing the traffic to the right computer. The attempts did not successfully break into my computer, but in the process, these villains are corrupting my computer memory (heap) thus causing the BSOD.

Instead, I plugged the bad practice of opening up web services that are only for me to use. Instead connect to my home network using VPN when I need to access my computers. Since then the BSOD disappeared.

Lesson learned: Your computer is not hacked by a remote exploit (probably patched enough) doesn’t mean the exploit won’t trash your computer memory till it crashes. Better use a VPN than directly opening up RDP to the wild internet.

 32 total views,  1 views today

Foobar2000 alternatives for Linux

I am a big fan of foobar2000 because it’s one of the most terse yet flexible package for playing music. I tried using RhythmBox that came with Linux Mint, but it’s annoying as hell. When you double click an audio file, it’ll adds to a default playlist and after it finished playing, it’ll go and play other songs you’ve previously clicked (because they were accumulated on the playlist).

Out of frustration, I tried to stick with my favorite, I found foobar2000 has a wine port available on Snap package manager. Downloaded it and realized it has a lot of work to do to make it work on linux:

  • Fonts do not scale. It’s always that tiny and not all the UI controls looks odd
  • The paths assumed windows drive letters. Sometimes if I drag and drop files from a bitlocker drive (mounted with dislocker), it’ll assume the file came from some complicated path under Z:\. WTF

Ended up downloading Clementine. It at least let me remove songs from the playlist by pressing “Del” button. But I’m not happy that it doesn’t have CDDB.

Turns out there are better options the Clementine. I found this StackExchange while searching for FreeDB options:

https://askubuntu.com/questions/541977/a-music-player-with-cd-ripping-and-cddb-lookup

Turns out DeaDBeeF (a hex pun) looks like a watered down version of foobar2000. So, Clementine, Foobar2000-Wine and RhythmBox is out.

 343 total views,  6 views today

Samsung Galaxy Note 3 Charge and USB-OTG simultaneously

I’d like to charge my phone and use USB devices at the same time, but it seems like it requires a 64.9kOhm resistor from sensor ID pin (micro USB) to ground. Instead of melting a USB-OTG cable, I bought this adapter (schematics here)

micro USB3.0 Type B Male to USB3.0 Type A Female adapter

so that I can have direct access to the ID pin. This is a USB 3.0 give that I have a Galaxy Note 3. The same principles apply to the USB 2.0 versions for Galaxy Note 4.


According to this website, fsa9480_i2c.h has the table for the resistor ID values. Turns out 64.9kOhm is the one for both charging (slowly) and using USB devices (like mouse, network adapter, etc.).

RID_USB_OTG_MODE,	/* 0 0 0 0 0 	GND

USB OTG Mode

              */
RID_AUD_SEND_END_BTN,	/* 0 0 0 0 1 	2K		Audio Send_End Button*/
RID_AUD_REMOTE_S1_BTN,	/* 0 0 0 1 0 	2.604K		Audio Remote S1 Button */
RID_AUD_REMOTE_S2_BTN,	/* 0 0 0 1 1 	3.208K		Audio Remote S2 Button                         */
RID_AUD_REMOTE_S3_BTN,	/* 0 0 1 0 0 	4.014K		Audio Remote S3 Button */
RID_AUD_REMOTE_S4_BTN,	/* 0 0 1 0 1 	4.82K		Audio Remote S4 Button */
RID_AUD_REMOTE_S5_BTN,	/* 0 0 1 1 0 	6.03K		Audio Remote S5 Button */
RID_AUD_REMOTE_S6_BTN,	/* 0 0 1 1 1 	8.03K		Audio Remote S6 Button */
RID_AUD_REMOTE_S7_BTN,	/* 0 1 0 0 0 	10.03K		Audio Remote S7 Button */
RID_AUD_REMOTE_S8_BTN,	/* 0 1 0 0 1 	12.03K		Audio Remote S8 Button */
RID_AUD_REMOTE_S9_BTN,	/* 0 1 0 1 0 	14.46K		Audio Remote S9 Button */
RID_AUD_REMOTE_S10_BTN,	/* 0 1 0 1 1 	17.26K		Audio Remote S10 Button */
RID_AUD_REMOTE_S11_BTN,	/* 0 1 1 0 0 	20.5K		Audio Remote S11 Button */
RID_AUD_REMOTE_S12_BTN,	/* 0 1 1 0 1 	24.07K		Audio Remote S12 Button */
RID_RESERVED_1,		/* 0 1 1 1 0 	28.7K		Reserved Accessory #1 */
RID_RESERVED_2,		/* 0 1 1 1 1 	34K 		Reserved Accessory #2 */
RID_RESERVED_3,		/* 1 0 0 0 0 	40.2K		Reserved Accessory #3 */
RID_RESERVED_4,		/* 1 0 0 0 1 	49.9K		Reserved Accessory #4 */
RID_RESERVED_5,		/* 1 0 0 1 0 	64.9K		Reserved Accessory #5 */
RID_AUD_DEV_TY_2,	/* 1 0 0 1 1 	80.07K		Audio Device Type 2 */
RID_PHONE_PWD_DEV,	/* 1 0 1 0 0 	102K		Phone Powered Device */
RID_TTY_CONVERTER,	/* 1 0 1 0 1 	121K		TTY Converter */
RID_UART_CABLE,		/* 1 0 1 1 0 	150K		UART Cable */
RID_CEA936A_TY_1,	/* 1 0 1 1 1 	200K		CEA936A Type-1 Charger(1) */
RID_FM_BOOT_OFF_USB,	/* 1 1 0 0 0 	255K		Factory Mode Boot OFF-USB */
RID_FM_BOOT_ON_USB,	/* 1 1 0 0 1 	301K		Factory Mode Boot ON-USB */
RID_AUD_VDO_CABLE,	/* 1 1 0 1 0 	365K		Audio/Video Cable */
RID_CEA936A_TY_2,	/* 1 1 0 1 1 	442K		CEA936A Type-2 Charger(1) */
RID_FM_BOOT_OFF_UART,	/* 1 1 1 0 0 	523K		Factory Mode Boot OFF-UART */
RID_FM_BOOT_ON_UART,	/* 1 1 1 0 1 	619K		Factory Mode Boot ON-UART */
RID_AUD_DEV_TY_1_REMOTE,	/* 1 1 1 1 0 	1000.07K	Audio Device Type 1 with Remote(1) */
RID_AUD_DEV_TY_1_SEND = RID_AUD_DEV_TY_1_REMOTE ,		/* 1 1 1 1 0 	1002K		Audio Device Type 1 / Only Send-End(2) */
RID_USB_MODE,		/* 1 1 1 1 1 	Open		USB Mode, Dedicated Charger or Accessory Detach */

 

 593 total views

Windows path length limit

Windows has a path length limit that are typically at the order of 250 (260 for Windows 10) that’s a pain in the butt when moving files. Despite you can override it, it’s no fun when you copy a jillion files just to find out a few can’t make it because the path is too long and you have to find out which ones are not copied!

There’s a short command to check if the path exceed certain number of characters, which I recommend testing for 240 character so you can at least have a 10+ character folder on the root folder to put the files in:

powershell: cmd /c dir /s /b |? {$_.length -gt 240}

 220 total views

Dual-booting: Linux and Windows fight for the system clock

Turns out it’s a common problem when dual-booting Windows and Linux, they keep changing the hardware system clock on each other (unless you live in GMT+0 zone) because Windows assume the system time is the one at the set timezone while Linux think the system time is the UTC+0 time (and offset it afterwards).

Linux updates the time through NTP server blindly while Windows 7 check if the current time is within 1hr from the NTP server to avoid unintended time changes (I have to give Microsoft credit for that). EDIT: Windows 10 blindly updates the time like Linux too.

The easy solution is to have Linux follow Windows’ suit:

timedatectl set-local-rtc 1 --adjust-system-clock

 401 total views

X11VNC for Linux setup notes

x11vnc is a relatively smooth experience, but there are quite a few common use cases that would have been automated away if it’s a Windows program, namely have it start as a service on boot (before logging in)

It’s from babelmonk’s solution on StackExchange. Paraphrased here to make it easier to understand:

After installation, create the password file with -storepasswd switch AND specify the where you want the password saved as an optional argument, and I prefer /etc/x11vnc.pass:

sudo x11vnc -storepasswd {your password goes here} /etc/x11vnc.pass

which will be read by -rfbauth switch for the x11vnc program.


Build your own (systemctl) service by creating /etc/systemd/system/x11vnc.service:

[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth guess -rfbauth /etc/x11vnc.pass
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2

[Install]
WantedBy=multi-user.target

Then, start with:

sudo systemctl daemon-reload
sudo systemctl start x11vnc

Enable the service (if not already done by previous commands) so it will start on boot

sudo systemctl enable x11vnc

 448 total views

Acrobat reader on Linux

Adobe gave up supporting Acrobat reader for Linux long time ago, so it’s stuck at the old 32-bit version (9.5.5):

http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb

ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb

The tutorial websites tells you to use wget, but sometimes you might run into authentication problems. You can simply use the links above and double-click the .deb file to install.

Nonetheless, it doesn’t work right out of the box in modern 64-bit Linux. You’ll run into a missing library

libxml2

on run because you didn’t install the 32-bit version of it. Enable i386 (x86 or 32-bit) packages first then get the 32-bit library:

dpkg --add-architecture i386
apt-get install libxml2:i386 ia32-libs

There are some GTK complaints if you run it on a command line, but it doesn’t affect the uses so you can safely ignore them

 320 total views,  1 views today

systemd-resolved DNS resolution nightmare

Linux Mint 19 does not resolve local hostsnames (nothing to do with SMB, which does not rely exclusively on DNS) out of the box! Damn. MX Linux does.

systemd-resolve, which act as a local DNS server on 127.0.0.53, despite it points to the DNS server assigned by the router’s DHCP (aka, the router’s IP address itself), managed not to resolve the local hostnames out of the box!

Time to disable this mofo (no need to mess with /etc/nsswitch.conf and install Winbind to use WINS):

Disable and stop the systemd-resolved service:

sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved

Then put the following line in the [main] section of your /etc/NetworkManager/NetworkManager.conf:

dns=default

Delete the symlink /etc/resolv.conf

sudo rm /etc/resolv.conf

Restart NetworkManager

sudo systemctl restart NetworkManager

I know it has good reasons to exist (like breaking VPN ties), but if Linux Mint decide to have it on as out-of-the-box defaults, at least tell the users that local network DNS resolution won’t work by default!

This is a choice that caters the 5% elite at the expense of frustrating 95% of the target audience!

 750 total views