Author Topic: IBM Model M 1394312 Converter DIY Question  (Read 5179 times)

0 Members and 1 Guest are viewing this topic.

Offline shananiki

  • Thread Starter
  • Posts: 3
IBM Model M 1394312 Converter DIY Question
« on: Fri, 07 February 2025, 06:27:00 »
Hey there,

I just got my hands on this IBM Model M. As I am one of the few new breeds of IBM AS400 Developers I was amazed by keyboards with F13-F24.
I'm sure I can convert to USB using a RP2040 Zero or ESP32.

However I'm asking the simple question what kind of female module do I need to buy? It's not standard RJ45 is it?
I don't want to buy random stuff of Aliexpress.

Offline zegonix

  • Posts: 135
Re: IBM Model M 1394312 Converter DIY Question
« Reply #1 on: Fri, 07 February 2025, 07:34:09 »
try it with a smaller number: https://en.wikipedia.org/wiki/Registered_jack
probably 6p6c, or 6p4c

Offline fohat.digs

  • * Elevated Elder
  • Posts: 6564
  • Location: 35°55'N, 83°53'W
  • weird funny old guy
Re: IBM Model M 1394312 Converter DIY Question
« Reply #2 on: Fri, 07 February 2025, 07:42:24 »
These have been working for most of us for years.

https://geekhack.org/index.php?topic=17458.0
"We are on the precipice of signing an agreement to advance talks with Iran that preserves the good parts of former President Barack Obama’s Joint Comprehensive Plan of Action (JCPOA) while amplifying its flaws.
Mr. Obama came to an agreement that did not involve America’s most precious treasure, the lives and limbs of our soldiers.  The 1.7 billion dollars of frozen Iranian assets released by Obama pales in comparison to the 300 billion being floated as a rebuilding fund.
So far, speculation that Iran will be free in the future to continue its nuclear program is the opposite of Trump’s stated goal for the war and in direct opposition to what Mr. Obama negotiated.
"
- Bill Roberts 2026-06-17

Offline shananiki

  • Thread Starter
  • Posts: 3
Re: IBM Model M 1394312 Converter DIY Question
« Reply #3 on: Fri, 07 February 2025, 09:06:27 »
try it with a smaller number: https://en.wikipedia.org/wiki/Registered_jack
probably 6p6c, or 6p4c
Would a RJ45 female fit? I can just only wire the necessary lines.

These have been working for most of us for years.

https://geekhack.org/index.php?topic=17458.0

I see thanks, but I'd love to use a USB C device. That guide was made before USB C was available, should work with any Atmega though.

Offline zegonix

  • Posts: 135
Re: IBM Model M 1394312 Converter DIY Question
« Reply #4 on: Fri, 07 February 2025, 10:10:38 »
Assuming, that i am right, NO.

The RJ45 is 8Pxx which is wider than the 4Pxx/6Pxx

Offline wjrii

  • Posts: 128
  • Location: Texas
Re: IBM Model M 1394312 Converter DIY Question
« Reply #5 on: Fri, 07 February 2025, 21:59:16 »
Try here: https://sharktastica.co.uk/kb_db_list?search=1394312

Looks like it's a normal RJ-45.  Both the Soarer's and the Hasu can be made with a USB C Pro Micro Atmel 32u4 microcontroller.  I have made three myself, one running Hasu's converter and two running Soarer's.  You can also open up the board and safely stash the original cable and just thread a sufficiently long USB cord through the existing opening and mount the converter inside, or wire a USB-C daughterboard with the right configuration.

Offline shananiki

  • Thread Starter
  • Posts: 3
Re: IBM Model M 1394312 Converter DIY Question
« Reply #6 on: Mon, 24 February 2025, 23:35:33 »
I know my soldering skills leave much room for improvement.
I got it to work with a ESP32-S2.

However there are a few keys missing. Does anybody have experience with this?

These are the keys I have mapped so far (I have a german qwertz layout)

Code: [Select]
SCANCODE_TO_HID = {
    0x1C: Keycode.A, 0x32: Keycode.B, 0x21: Keycode.C, 0x23: Keycode.D, 0x24: Keycode.E,
    0x2B: Keycode.F, 0x34: Keycode.G, 0x33: Keycode.H, 0x43: Keycode.I, 0x3B: Keycode.J,
    0x42: Keycode.K, 0x4B: Keycode.L, 0x3A: Keycode.M, 0x31: Keycode.N, 0x44: Keycode.O,
    0x4D: Keycode.P, 0x15: Keycode.Q, 0x2D: Keycode.R, 0x1B: Keycode.S, 0x2C: Keycode.T,
    0x3C: Keycode.U, 0x2A: Keycode.V, 0x1D: Keycode.W, 0x22: Keycode.X, 0x35: Keycode.Y,
    0x1A: Keycode.Z, 0x45: Keycode.ZERO, 0x16: Keycode.ONE, 0x1E: Keycode.TWO,
    0x26: Keycode.THREE, 0x25: Keycode.FOUR, 0x2E: Keycode.FIVE, 0x36: Keycode.SIX,
    0x3D: Keycode.SEVEN, 0x3E: Keycode.EIGHT, 0x46: Keycode.NINE, 0x0E: Keycode.GRAVE_ACCENT,
    0x4E: Keycode.MINUS, 0x55: Keycode.EQUALS, 0x5C: Keycode.BACKSLASH, 0x66: Keycode.BACKSPACE,
    0x29: Keycode.SPACE, 0x0D: Keycode.TAB, 0x14: Keycode.CAPS_LOCK, 0x12: Keycode.SHIFT,
    0x11: Keycode.CONTROL, 0x8B: Keycode.GUI, 0x19: Keycode.ALT, 0x59: Keycode.SHIFT,
    0x58: Keycode.CONTROL, 0x8C: Keycode.GUI, 0x39: Keycode.ALT, 0x8D: Keycode.APPLICATION,
    0x5A: Keycode.ENTER, 0x08: Keycode.ESCAPE, 0x07: Keycode.F1, 0x0F: Keycode.F2,
    0x17: Keycode.F3, 0x1F: Keycode.F4, 0x27: Keycode.F5, 0x2F: Keycode.F6,
    0x37: Keycode.F7, 0x3F: Keycode.F8, 0x47: Keycode.F9, 0x4F: Keycode.F10,
    0x56: Keycode.F11, 0x5E: Keycode.F12, 0x57: Keycode.PRINT_SCREEN, 0x5F: Keycode.SCROLL_LOCK,
    0x62: Keycode.PAUSE, 0x54: Keycode.LEFT_BRACKET, 0x5B: Keycode.RIGHT_BRACKET,
    0x4C: Keycode.SEMICOLON, 0x52: Keycode.QUOTE, 0x41: Keycode.COMMA, 0x49: Keycode.PERIOD,
    0x4A: Keycode.FORWARD_SLASH, 0x67: Keycode.INSERT, 0x6E: Keycode.HOME, 0x6F: Keycode.PAGE_UP,
    0x64: Keycode.DELETE, 0x65: Keycode.END, 0x6D: Keycode.PAGE_DOWN, 0x63: Keycode.UP_ARROW,
    0x61: Keycode.LEFT_ARROW, 0x60: Keycode.DOWN_ARROW, 0x6A: Keycode.RIGHT_ARROW,
    0x76: Keycode.KEYPAD_NUMLOCK, 0x4A: Keycode.KEYPAD_FORWARD_SLASH, 0x7E: Keycode.KEYPAD_ASTERISK,
    0x4E: Keycode.KEYPAD_MINUS, 0x7C: Keycode.KEYPAD_PLUS, 0x79: Keycode.KEYPAD_ENTER,
    0x71: Keycode.KEYPAD_PERIOD, 0x70: Keycode.KEYPAD_ZERO, 0x69: Keycode.KEYPAD_ONE,
    0x72: Keycode.KEYPAD_TWO, 0x7A: Keycode.KEYPAD_THREE, 0x6B: Keycode.KEYPAD_FOUR,
    0x73: Keycode.KEYPAD_FIVE, 0x74: Keycode.KEYPAD_SIX, 0x6C: Keycode.KEYPAD_SEVEN,
    0x75: Keycode.KEYPAD_EIGHT, 0x7D: Keycode.KEYPAD_NINE
}