Author Topic: TMK PS/2 to USB keyboard converter  (Read 185242 times)

0 Members and 1 Guest are viewing this topic.

Offline youxiaojie

  • Posts: 31
Re: PS/2 to USB keyboard converter for Teensy with mousekeys and NKRO
« Reply #200 on: Tue, 29 January 2019, 15:05:44 »
keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   Is it a printer? And for a simplified example, int p[][3][4] means?
Or a 3D matrix?
answer: this is a 3d matrix, the first division means keyboard layers, auto defined when matrix initialized.
eg int 3dmatix[][3][4]={{{0,1,2,3},{4,5,6,7},{8,9,10,11}},{{20,21,22,23},{24,25,26,27},{28,29,30,31}}}; initialized a 3d matix, the first division is caculated here is 2,so 3d matrix[2][3][4].
and we can define a pointer int *p[3][4]=3dmatrix[0];
« Last Edit: Sun, 17 March 2019, 13:26:36 by youxiaojie »

Offline youxiaojie

  • Posts: 31
Re: PS/2 to USB keyboard converter for Teensy with mousekeys and NKRO
« Reply #201 on: Fri, 01 February 2019, 11:44:50 »
dear friend I see config.h and find:
/* matrix size */
#define MATRIX_ROWS 32  // keycode bit: 3-0
#define MATRIX_COLS 8   // keycode bit: 6-4

I feel it should be

/* matrix size */
#define MATRIX_ROWS 32  // keycode bit: 7-4
#define MATRIX_COLS 8   // keycode bit: 3-0
Am I right? Is keycode scancode?

Offline brentward

  • Posts: 9
Re: PS/2 to USB keyboard converter for Teensy with mousekeys and NKRO
« Reply #202 on: Wed, 27 March 2019, 17:07:26 »
I'm having the same issue using a Teensy 2.0 with an IBM Model M. I have mine connected in the same way and I've tried to use pull up resistors also, but it flashes when I plug it in then doesn't work.

I'm using a Mac and it shows up in System Information but sometimes it gives a message that it is using too much power so it is being shut off.

I've tried modifying the tsk_core/protocol/lufa/descriptor.c file to increase .MaxPowerConsumption in the ConfigurationDescriptor to USB_CONFIG_POWER_MA(500), but that didn't solve the issue. I've confirmed that now in System Information it recognizes that the device is requesting 500 mA.

From what I can tell 500 mA should be more than enough to power the Model M, so I'm guessing I have something wired wrong. I've even tried swapping out the Teensy with a Arduino Pro Micro that I know is working (it is currently functioning in a ABD to USB converter) and both of them behave the same.

Does anyone have any suggestions as to why it would shut off right after the lights turn on in the keyboard power up test?

Alright, I think I'm missing something or I did something wrong. I've got a Dell AT101W PS/2 board that I'm wiring up a Teensy 2.0 with the default TMK PS2-USB Converter Rev.1 firmware.

I've got Vcc connected to +5v, GND connected to ground, PD0 connected to Data, and PD1 connected to Clock.

When I connect the USB connector to it, all the LEDs light up for like half a second and then they all go off. After that the teensy shows in device manager as a keyboard, but nothing on the keyboard works.

Do I have the lines backwards or am I using the wrong firmware or something? I tried putting a 4.7k resistor on the data and clock lines connecting to Vcc but still nothing.

Any ideas would be greatly appreciated.

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #203 on: Wed, 27 March 2019, 18:57:16 »
I think computer(USB host) doesn't measure real current device draws, it just knows it from MaxPowerConsumption value. And resettable fuse would be used to protect USB port from accidental short circuit and overcurrent.

I suppose there are two scenarios for the problem:

1) Resettable fuse is tripped with short circuit.
2) Computer shudowns device(or just warns, perhaps) if sum of MaxPowerConsumption values(of all connected devices) exceeds power budget of USB port.
3) or other hardware/firmware errors

Decreasing MaxPowerConsumption value may mitigate the problem if it is caused from case 2.
But I guess iffy wiring is more likely and it makes accidental short circuit occasionally?

Offline brentward

  • Posts: 9
Re: TMK PS/2 to USB keyboard converter
« Reply #204 on: Thu, 28 March 2019, 10:35:32 »
Thanks for replying. I have new info about the issue.

I’ve figured out that if I plug in the converter without the PS2 port plugged into it but then plug it in after waiting more than about 3 seconds but less than about 8 seconds it works perfectly. Since it works in this way consistenty and doesn’t shut off or fail I’m thinking the wiring isn’t the issue.

Would there be a way to delay powering up the VCC pin for 5 seconds after the Teensy starts? I tried adding a sleep(5) in the main function in main.cpp before the keyboard init function but that didn’t do the trick.

More about my configuration: it has the clock on PD1 data on PD0 both with 1k pull up resistors. The tmk build is rev2 with the only change from default being changing the MCU to atmega32u4.

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #205 on: Thu, 28 March 2019, 19:16:32 »
Interesting.

Did you get any dialog or something on your OS?

I'd try some to know where the issue is located in keyobard, converter and firmware.
0) Plugin the converter without keyboard and see if you still have same issue.
1) Try Soarer's firmware and see if you still have same issue with it.
2) If you have other PS/2 keyboard and check the converter itself works well.


Offline JosefM

  • Posts: 4
Re: TMK PS/2 to USB keyboard converter
« Reply #206 on: Tue, 02 April 2019, 12:38:15 »
Hi,
I'm totally new to AVR, and I'm not understanding how to build the files (I need it for a Teensy 2.0++).
I tried to install WinAVR on Windows, but building failed because the paths in the various files are in Unix format (for example the last lines in Makefile are
Code: [Select]
include $(TMK_DIR)/protocol.mk
include $(TMK_DIR)/protocol/lufa.mk
include $(TMK_DIR)/common.mk
include $(TMK_DIR)/rules.mk
)

I tried to install cross-avr-gcc7 on a SuSE Linux machine (965.7 MiB), but, when compiling, I got many errors about missing files. I eventually copied all the content of the avr\include folder from my WinAVR installation to tmk_keyboard/tmk_core/common folder downloaded from github: no file was replaced/overwritten, and the errors about missing files disappeared, but now I've the following

Code: [Select]
avr-gcc (Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


mkdir -p obj_ps2_usb/protocol/lufa
Compiling C: ../../tmk_core/protocol/lufa/lufa.c
avr-gcc -c -mmcu=atmega32u2 -gdwarf-2 -DF_CPU=16000000UL -DSUSPEND_MODE_STANDBY -DBOOTLOADER_SIZE=4096 -DPS2_USE_INT -DF_USB=16000000UL -DARCH=ARCH_AVR8 -DUSB_DEVICE_ONLY -DUSE_FLASH_DESCRIPTORS -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -DFIXED_CONTROL_ENDPOINT_SIZE=8  -DFIXED_NUM_CONFIGURATIONS=1 -DNO_LIMITED_CONTROLLER_CONNECT -DPROTOCOL_LUFA -DEXTRAKEY_ENABLE -DCONSOLE_ENABLE -DCOMMAND_ENABLE -DNKRO_ENABLE -DVERSION=494faeb4-dirty -Os -funsigned-char -funsigned-bitfields -ffunction-s
ections -fdata-sections -fno-inline-small-functions -fpack-struct -fshort-enums -fno-strict-aliasing -Wall -Wstrict-prototypes -Wa,-adhlns=obj_ps2_usb/protocol/lufa/lufa.lst -I. -I../../tmk_core -I../../tmk_core/protocol -I../../tmk_core/protocol/lufa -I../../tmk_core/protocol/lufa/LUFA-git -I../../tmk_core/common -std=gnu99 -include config.h -MMD -MP -MF .dep/obj_ps2_usb_protocol_lufa_lufa.o.d  ../../tmk_core/protocol/lufa/lufa.c -o obj_ps2_usb/protocol/lufa/lufa.o
In file included from ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/../../Common/Common.h:96:0,
                 from ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/USB.h:382,
                 from ../../tmk_core/protocol/lufa/descriptor.h:47,
                 from ../../tmk_core/common/report.h:83,
                 from ../../tmk_core/protocol/lufa/lufa.c:39:
../../tmk_core/protocol/lufa/lufa.c: In function 'EVENT_USB_Device_Connect':
../../tmk_core/common/avr/pgmspace.h:249:46: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 # define PSTR(s) (__extension__({static char __c[] PROGMEM = (s); &__c[0];}))
                                              ^
../../tmk_core/common/print.h:41:27: note: in expansion of macro 'PSTR'
 #define print(s)    xputs(PSTR(s))
                           ^~~~
../../tmk_core/protocol/lufa/lufa.c:221:5: note: in expansion of macro 'print'
     print("[C]");
     ^~~~~
../../tmk_core/protocol/lufa/lufa.c: In function 'EVENT_USB_Device_Disconnect':
../../tmk_core/common/avr/pgmspace.h:249:46: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 # define PSTR(s) (__extension__({static char __c[] PROGMEM = (s); &__c[0];}))
                                              ^
../../tmk_core/common/print.h:41:27: note: in expansion of macro 'PSTR'
 #define print(s)    xputs(PSTR(s))
                           ^~~~
../../tmk_core/protocol/lufa/lufa.c:232:5: note: in expansion of macro 'print'
     print("[D]");
     ^~~~~
../../tmk_core/protocol/lufa/lufa.c: In function 'setup_mcu':
../../tmk_core/protocol/lufa/lufa.c:609:5: warning: implicit declaration of function 'clock_prescale_set' [-Wimplicit-function-declaration]
     clock_prescale_set(clock_div_1);
     ^~~~~~~~~~~~~~~~~~
../../tmk_core/protocol/lufa/lufa.c:609:24: error: 'clock_div_1' undeclared (first use in this function)
     clock_prescale_set(clock_div_1);
                        ^~~~~~~~~~~
../../tmk_core/protocol/lufa/lufa.c:609:24: note: each undeclared identifier is reported only once for each function it appears in
In file included from ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/../../Common/Common.h:96:0,
                 from ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/USB.h:382,
                 from ../../tmk_core/protocol/lufa/descriptor.h:47,
                 from ../../tmk_core/common/report.h:83,
                 from ../../tmk_core/protocol/lufa/lufa.c:39:
../../tmk_core/protocol/lufa/lufa.c: In function 'main':

I suspect the problem is because I copied the files from WinAVR, which seems to be 9 years old.
Could I compile the project using Atmel Studio? I'm installing it right now

EDIT: I installed Atmel Studio: I couldn't open a project (I assume it's not been developed using such IDE), but, after copying its own .h files, the project "seems" to compile without errors... it creates a folder named obj_ps2_usb, but it doesn't contain any hex files.
Unfortunately, like I said, I'm new to AVR µCUs: I've been using other µCUs (you know: the old PICs), but I've always used their IDE (on Windows), and I've always been writing my codes in Assembly, rarely using external libraries... I assume what I lack the more is a basic knowledge on how to compile a program on Unix-like machines...
« Last Edit: Tue, 02 April 2019, 13:08:29 by JosefM »

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #207 on: Tue, 02 April 2019, 19:18:47 »

Offline JosefM

  • Posts: 4
Re: TMK PS/2 to USB keyboard converter
« Reply #208 on: Wed, 03 April 2019, 00:16:39 »
JosefM,
See this wiki entry.
https://github.com/tmk/tmk_keyboard/wiki#build-firmware

Thank you: I had checked just the instructions on the OP of this thread. I see now that, had I followed the last link in that post, I'd have found the instructions.
I'll try it tomorrow

Offline JosefM

  • Posts: 4
Re: TMK PS/2 to USB keyboard converter: compiling for Teensy 2.0++
« Reply #209 on: Wed, 03 April 2019, 23:07:49 »
I tried the VM+Ubuntu method, but it was giving me the same errors as the SuSE machine did.
I eventually managed to compile it on SuSE (copying the aforementioned .h files from Atmel Studio installation), but only if setting
Code: [Select]
MCU ?= atmega32u2in the Makefile. Using
Code: [Select]
MCU ?= at90usb1286(the MCU on the Teensy 2.0++) it wasn't working.
I eventually modified config.h appending " || defined(__AVR_AT90USB1286__)" at the end of line 64, which now looks like
Code: [Select]
#if defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega32U2__) || defined(__AVR_AT90USB1286__)
The lines modified in Makefile are
Code: [Select]
MCU ?= at90usb1286

BOOTLOADER_SIZE ?= 1024

CONSOLE_ENABLE ?= no # Console for debug(+400)

The second line is because of the size of the bootloader in the Teensy, while the third is to disable debugging codes, which may be used for sniffing what I type, bypassing what both the OS and the firewall do for preventing that behavior (which is why I'm not using Soarer's code, even though I bought the Teensy explicitly for that, as suggested on Deskthority.net)

After doing all of that, the program is now running on the Teensy 2.0++.
Too bad the USB keyboard protocol doesn't support many of the advanced features of this keyboard :(
I may evaluate modifying the firmware in the keyboard to send a break code every time a key is repeated, but it may cause problems with many programs.


Why so many input devices?
« Last Edit: Wed, 03 April 2019, 23:48:40 by JosefM »

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #210 on: Thu, 04 April 2019, 00:14:51 »
Why so many input devices?

They are used for NKRO, mouse emulation and media keys.


Offline JosefM

  • Posts: 4
Re: TMK PS/2 to USB keyboard converter
« Reply #211 on: Thu, 04 April 2019, 00:58:03 »
Why so many input devices?

They are used for NKRO, mouse emulation and media keys.

Yes, it came to my mind later: I found it back and was right gonna modify my post adding this video (go to 2'48")

Offline wsr80913

  • Posts: 2
Re: TMK PS/2 to USB keyboard converter
« Reply #212 on: Sun, 07 April 2019, 17:17:10 »
I have a model M13 keyboard, and an Alps Glidepoint keyboard.  They have two PS/2 connectors, one for the trackpoint, and one for the keyboard.  They work well with a simple glop-top active converter, but I like being able to program things/remap keys in a device-independent way.

I ran around in circles for a bit, then realized TMK supports ps/2 mice.  I built a PS2_USE_INT PS2_MOUSE_ENABLE version, and it works, although it seems to stutter a bit.

I poked about trying to get PS2_USE_USART to work, read that the useful pins are limited - PD5 is an LED on a Pro Micro, which is what I'm working on right now - and thought I'd ask:

Is USART limited to just PD5 & PD2?

is a 32u4 fast enough to convert PS/2 keyboard and mouse on the same chip?

And renaming PS2_DATA_BIT & PS2_CLOCK_BIT for the second set of pins looks like it should work.

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #213 on: Sun, 07 April 2019, 17:48:00 »
I have a model M13 keyboard, and an Alps Glidepoint keyboard.  They have two PS/2 connectors, one for the trackpoint, and one for the keyboard.  They work well with a simple glop-top active converter, but I like being able to program things/remap keys in a device-independent way.

I ran around in circles for a bit, then realized TMK supports ps/2 mice.  I built a PS2_USE_INT PS2_MOUSE_ENABLE version, and it works, although it seems to stutter a bit.

I poked about trying to get PS2_USE_USART to work, read that the useful pins are limited - PD5 is an LED on a Pro Micro, which is what I'm working on right now - and thought I'd ask:

Is USART limited to just PD5 & PD2?

is a 32u4 fast enough to convert PS/2 keyboard and mouse on the same chip?

And renaming PS2_DATA_BIT & PS2_CLOCK_BIT for the second set of pins looks like it should work.

Yes, pins for USART is fixed and not configurable with Atmega32u4.
I think so but current TMK firmware doesn't support PS/2 keyboard and mouse at same time basically. Problem is that you can't create two instances of PS2_USE_INT, you will have to refactor PS/2 protocol codes.

It may work with configuring like PS2_USE_INT for keyboard and PS2_USE_USART for mouse, but I'm not sure.

Offline brentward

  • Posts: 9
Re: TMK PS/2 to USB keyboard converter
« Reply #214 on: Mon, 08 April 2019, 13:14:21 »
Sorry it took so long to reply to this, I was out of town.

0) When I plug in the converter with no keyboard there is no indication that there is any issue.
1) I loaded up Soarer's firmware and the keyboard works fine on it without hot swapping
2) I have no other PS/2 keyboards to try, but the same Teensy works perfectly fine when loaded with the Soarer firmware, and also when wiring it to an ADB port and loading the TMK add_to_usb converter, so it seems like the converter hardware is fine.

I've seen Chyrosan22 on youtube indicate very similar behavior on an OmniKey ULTRA in this video:
He indicated that it was caused by a bad capacitor and when he replaced it the behavior was fixed. My multimeter doesn't have a specific setting for testing capacitors but do you think replacing the two electrolytic capacitors on the controller would be worthwhile?

I'm not very familiar with Soarer's converter; I know how to modify TMK to do what I want so I'd like to get it working. But I'm assuming I can get my custom layers in Soarer's converter working. I haven't looked at the source code yet so I don't know what it includes.

Interesting.

Did you get any dialog or something on your OS?

I'd try some to know where the issue is located in keyobard, converter and firmware.
0) Plugin the converter without keyboard and see if you still have same issue.
1) Try Soarer's firmware and see if you still have same issue with it.
2) If you have other PS/2 keyboard and check the converter itself works well.

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #215 on: Wed, 10 April 2019, 22:36:27 »
I think the "drawing too much power" error basically indicates there is something wrong on hardware.

From the tests your converter hardware has no problem, so I think the keyobard is root cause fo your problem.
Yes, capacitors is what you have to check at first. IBM Model M2 is infamous for its bad capacitors but I haven't heard this on Model M so far. Though, I think checking/Replacing capacitors on your keyboard is still worthwhile.

Offline brentward

  • Posts: 9
Re: TMK PS/2 to USB keyboard converter
« Reply #216 on: Thu, 11 April 2019, 17:29:27 »
I pulled the caps the other night and some new ones came today while I was at work. Tonight I'll solder the new caps into the controller. I'll let you know how it goes.

Thanks for the help!

Offline brentward

  • Posts: 9
Re: TMK PS/2 to USB keyboard converter
« Reply #217 on: Fri, 12 April 2019, 13:59:49 »
I replaced the 2 electrolytic capacitors and I'm still having issues. Interestingly, now it works when I plug it straight in (without hot swapping) sometimes, but not every time... weird.

This is making me wonder why it works fine on Soarer's firmware but has intermittent issues on the TMK firmware. I want to stick with TMK because of the ACTION_LAYER_TAP_KEY ability which it doesn't seem like Soarer's firmware supports.

Do you know enough about how Soarer's converter to think of why it would work in this case but not TMK?

Offline brentward

  • Posts: 9
Re: TMK PS/2 to USB keyboard converter
« Reply #218 on: Fri, 12 April 2019, 14:08:37 »
I just rebuilt the firmware after changing the lufa/descriptor.c to:
Code: [Select]
.MaxPowerConsumption    = USB_CONFIG_POWER_MA(250) and now it seems to be working 100% successfully.

I tested with the setting at a few different values, 125 mA, 200 mA, and 250 mA. At 125 the frequency of success on plugin it straight in was about the same as default. At 200 it seemed to work about 2 out of 3 times. At 250 I haven't had any failures so far..

My speculation is that MacOS was disabling the port when the device drew more power than it said it should be drawing. Now with the new capacitors it is drawing less power but still more than the 100 mA that the the TMK code has set as the default.

Thoughts?
« Last Edit: Fri, 12 April 2019, 14:19:57 by brentward »

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #219 on: Sat, 13 April 2019, 22:23:37 »
Hmm, Soarer's conveter declares 100mA in its descriptor as well. I'm not sure if it is really the cause.
https://github.com/tmk/tmk_keyboard/wiki/Soarer's-Converter-Descriptor

Offline brentward

  • Posts: 9
Re: TMK PS/2 to USB keyboard converter
« Reply #220 on: Sun, 14 April 2019, 16:12:53 »
Yeah, I guess that isn't the difference that is making Soarer's firmware working.

I've discovered that the TMK firmware with the descriptor set to 250 mA (or even 500 mA) isn't as reliable as I thought. I tried using it on my older (late 2010) MacBook Pro and on a new Raspberry Pi 3 B+ and it doesn't work on them reliably. On the older MBP it works when hot swapping but not when plugged straight in. On the Raspberry Pi it doesn't work at all.

With Soarer's firmware it works on both the older MBP and the Raspberry Pi.

Now I'm back to wondering why it works fine with Soarer's converter but not TMK. I'm hoping I can get the TMK firmware to work reliably. Could it be a difference in how they are booting up?

Would it be possible put a delay in the VCC on the controller coming on?

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #221 on: Mon, 15 April 2019, 04:10:02 »
On the older MBP did you get error message or something?
Raspberry Pi says something in log file when the converter fails?

You can get debug info with hid_listen tool on both Soarer's and TMK. You may find some clue there.
https://www.pjrc.com/teensy/hid_listen.html

I guess keyboard initialization timing/method or something may cause the difference.

No you can't controll VCC line from firmware.

And what is your keyboard model exactly?

Offline _GMK_

  • not affiliated with GMK
  • Posts: 197
Re: TMK PS/2 to USB keyboard converter
« Reply #222 on: Mon, 15 April 2019, 06:13:44 »
Works perfectly with cherry g80-8000. Thanks for designing this  :thumb:
Maybe I'll buy one for home too. Any hardware update planned?

Offline brentward

  • Posts: 9
Re: TMK PS/2 to USB keyboard converter
« Reply #223 on: Mon, 15 April 2019, 14:30:14 »
There was no message from the MBP when it fails. Initially I was getting messages that the USB port was turned off because the device was using too much power but I haven't got that message in a while.

I'll take a look at the logs on the Raspberry Pi and I'll also look at the debug for both versions when I get hime and I'll update this thread.

The keyboard is a 1397735 manufactured on 12 Aug 1994. It is a version that has a thick coiled detachable SDL to PS/2 cable. The controller looks like this one:
https://clickykeyboards.com/product/model-m-internal-keyboard-controller-logic-board-with-sdl-port/

Offline brentward

  • Posts: 9
Re: TMK PS/2 to USB keyboard converter
« Reply #224 on: Fri, 26 April 2019, 14:32:30 »
It took me a while to get back to this. I haven't tried the HID debugging yet, but I do have logs from both computers that aren't working correctly, On the Raspberry Pi I've realized that it does sometimes work. I've captured logs from it not working and then working. I plugged it in at 12:26:06 in the logs and it didn't work, then I unplugged it and plugged it back in a few times until it worked when plugging it back in at 12:27:34.
Here are the syslog entries:
Code: [Select]
Apr 26 12:26:06 raspberrypi kernel: [ 2189.778392] usb 1-1.1.2: new full-speed USB device number 23 using dwc_otg
Apr 26 12:26:19 raspberrypi kernel: [ 2202.538520] usb 1-1.1.2: device not accepting address 23, error -110
Apr 26 12:26:19 raspberrypi kernel: [ 2202.638558] usb 1-1.1.2: new full-speed USB device number 24 using dwc_otg
Apr 26 12:26:34 raspberrypi kernel: [ 2217.858672] usb 1-1.1.2: device descriptor read/64, error -110
Apr 26 12:27:04 raspberrypi kernel: [ 2247.898952] usb 1-1.1.2: new full-speed USB device number 25 using dwc_otg
Apr 26 12:27:16 raspberrypi kernel: [ 2259.719067] usb 1-1.1.2: device not accepting address 25, error -32
Apr 26 12:27:19 raspberrypi kernel: [ 2263.249090] usb 1-1.1.2: new full-speed USB device number 27 using dwc_otg
Apr 26 12:27:32 raspberrypi kernel: [ 2275.899225] usb 1-1.1.2: device not accepting address 27, error -110
Apr 26 12:27:34 raspberrypi kernel: [ 2278.099227] usb 1-1.1.2: new full-speed USB device number 29 using dwc_otg
Apr 26 12:27:37 raspberrypi kernel: [ 2280.439471] usb 1-1.1.2: New USB device found, idVendor=feed, idProduct=6512
Apr 26 12:27:37 raspberrypi kernel: [ 2280.439487] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr 26 12:27:37 raspberrypi kernel: [ 2280.439496] usb 1-1.1.2: Product: ChopperHello PS/2
Apr 26 12:27:37 raspberrypi kernel: [ 2280.439505] usb 1-1.1.2: Manufacturer: ChopperHello
Apr 26 12:27:37 raspberrypi kernel: [ 2280.448655] input: ChopperHello ChopperHello PS/2 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/0003:FEED:6512.0011/input/input12
Apr 26 12:27:37 raspberrypi kernel: [ 2280.510324] hid-generic 0003:FEED:6512.0011: input,hidraw0: USB HID v1.11 Keyboard [ChopperHello ChopperHello PS/2] on usb-3f980000.usb-1.1.2/input0
Apr 26 12:27:37 raspberrypi kernel: [ 2280.517544] input: ChopperHello ChopperHello PS/2 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.1/0003:FEED:6512.0012/input/input13
Apr 26 12:27:37 raspberrypi kernel: [ 2280.579700] hid-generic 0003:FEED:6512.0012: input,hidraw1: USB HID v1.11 Device [ChopperHello ChopperHello PS/2] on usb-3f980000.usb-1.1.2/input1
Apr 26 12:27:37 raspberrypi kernel: [ 2280.586355] hid-generic 0003:FEED:6512.0013: hiddev96,hidraw2: USB HID v1.11 Device [ChopperHello ChopperHello PS/2] on usb-3f980000.usb-1.1.2/input2
Apr 26 12:27:37 raspberrypi kernel: [ 2280.594378] input: ChopperHello ChopperHello PS/2 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.3/0003:FEED:6512.0014/input/input14
Apr 26 12:27:37 raspberrypi kernel: [ 2280.660397] hid-generic 0003:FEED:6512.0014: input,hidraw3: USB HID v1.11 Keyboard [ChopperHello ChopperHello PS/2] on usb-3f980000.usb-1.1.2/input3

Console output from mac:
Code: [Select]
default 12:17:03.895474 -0700 kernel 013333.717355 IOUSBHostDevice@fd130000: IOUSBHostDevice::start: device descriptor request completed with 0xe0005000 and bytesTransferred 0
default 12:17:03.895729 -0700 kernel 013333.717609 AppleUSB20HubPort@fd130000: AppleUSB20HubPort::resetAndCreateDevice: failed to start device
default 12:17:03.895795 -0700 kernel 013333.717674 AppleUSB20HubPort@fd130000: AppleUSB20HubPort::resetAndCreateDevice: failed to create device (0xe00002e9), disabling port
default 12:17:21.810753 -0700 kernel 013351.632159 AppleUSB20HubPort@fd130000: AppleUSB20HubPort::interruptOccurred: change bits still set, port status 0x00000100
default 12:17:25.048644 -0700 kernel 013354.869965 AppleUSB20HubPort@fd130000: AppleUSBHostPort::disconnect: persistent enumeration failures
default 12:17:28.793433 -0700 kernel 013358.614651 AppleUSB20HubPort@fd130000: AppleUSBHostPort::disconnect: persistent enumeration failures
default 12:17:31.914748 -0700 kernel 013361.735890 AppleUSB20HubPort@fd130000: AppleUSBHostPort::disconnect: persistent enumeration failures
default 12:17:32.101275 -0700 kernel 013361.922412 AppleUSB20HubPort@fd130000: AppleUSBHostPort::disconnect: persistent enumeration failures
default 12:17:50.793640 -0700 kernel 013380.614281 AppleUSB20HubPort@fd130000: AppleUSBHostPort::disconnect: persistent enumeration failures
default 12:18:00.775158 -0700 kernel 013390.595528 AppleUSB20HubPort@fd130000: AppleUSB20HubPort::interruptOccurred: change bits still set, port status 0x00000100
default 12:18:01.170828 -0700 kernel 013390.991189 AppleUSB20HubPort@fd130000: AppleUSBHostPort::disconnect: persistent enumeration failures
default 12:18:02.790473 -0700 kernel 013392.610797 AppleUSB20HubPort@fd130000: AppleUSBHostPort::disconnect: persistent enumeration failures
default 12:18:14.407379 -0700 kernel 013404.227393 AppleUSB20HubPort@fd130000: AppleUSB20HubPort::interruptOccurred: change bits still set, port status 0x00000100
default 12:18:16.127062 -0700 kernel 013405.947034 AppleUSB20HubPort@fd130000: AppleUSBHostPort::disconnect: persistent enumeration failures

« Last Edit: Fri, 26 April 2019, 14:36:30 by brentward »

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #225 on: Sat, 27 April 2019, 02:29:19 »
brentward,
I assume that you pluged converter with the keyboard.
Does the converter work every time when pluging it without the keyboard?
Then, what happens when hookup the keyboard to the converter?

And do you have same result with using my prebuild binary?
https://github.com/tmk/tmk_keyboard/blob/master/converter/ps2_usb/binary/ps2_usb_rev1_unimap.hex

EDIT: Ignore this.

I guess that keyboard startup procedure prevents USB initialization and you can improve the startup procedure in firmware. The firmware is blocked somewhere in the startup procedure, perhaps.
« Last Edit: Sat, 27 April 2019, 02:39:33 by hasu »

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #226 on: Sun, 08 September 2019, 22:29:38 »
Updated README and Makefiles.
It may make a bit easier for those unfamiliar with TMK and AVR controllers hoepfully...

Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #227 on: Mon, 09 September 2019, 21:24:19 »
Hasu -
Just tested your updated ps2_usb with Makefile.32u4. Works beautifully. Thanks again for all your help!

-----------------------

Okay so I'm trying to make my own layouts and I'm pretty confused by the ps2 scan codes. I found this reference manual, which mostly makes sense with regards to the scan codes, but I'm confused by it in a few places.

For example, "Print Screen" seems to correspond to the code "E012E07C", or "Up Arrow" is "E075". On the other hand, in "keymap_common.h" in ps2_usb, it appears that "Print Screen" corresponds to "FC" and "Up Arrow" to "F5".

Would you mind giving me a brief explanation of what you did here? I'm a little confused. I know I don't strictly need to know this information to accomplish what I'm trying to, but I'm still curious.

Thanks Hasu.
« Last Edit: Mon, 09 September 2019, 22:22:48 by PancakeMSTR »
   

Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #228 on: Wed, 11 September 2019, 23:16:11 »
Hasu -

I'm trying to make it so that I can press a button (or a combination of buttons) to reset the pro micro/enter bootloader. I tried both mapping a key to KC_BOOTLOADER and RSHIFT+LSHIFT+PAUSE, and both exhibit the same behavior - after a moment the keyboard disconnects then reconnects, and I haven't succesfully been able to use this method to flash the pro micro. I've had to press a physical button wired into the GND and RESET pins of the pro micro.

As a note, I use the RSHIFT+LSHIFT+PAUSE method to enter the bootloader on my Zenith, which uses the xt_usb converter, and that works fine. Any ideas about how to fix this problem?

Thanks!
   

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #229 on: Thu, 12 September 2019, 23:12:22 »
With PS/2 scan code or Code Set 2 some key can be multi-bitye code like PrintScreen while most of others are one-byte.
In TMK firmware the multi-byte PS/2 scan codes are translated into TMK specific one-byte code internally used to simplify process of them. One-byte PS/2 scan codes(0x00-7F) are mapped to themselves in TMK interanl code area(0x00-7F) without translation. Basically two-byte E0-prifixed scan codes(Up key for example) are mapped into the latter half of TMK internal code area(0x80-FF) simply which is not used as original PS/2 scan code. And as you described, PrintScreen scan code is mapped to 0xFC exceptioanlly,  for example. This translation happens in matrix.c.

You can refer this about the translation.
https://github.com/tmk/tmk_keyboard/blob/master/converter/ps2_usb/matrix.c#L144-L383

This explains for some exceptional keys including PrintScreen.
https://github.com/tmk/tmk_keyboard/blob/master/converter/ps2_usb/matrix.c#L81-L143



Hasu -
Just tested your updated ps2_usb with Makefile.32u4. Works beautifully. Thanks again for all your help!

-----------------------

Okay so I'm trying to make my own layouts and I'm pretty confused by the ps2 scan codes. I found this reference manual, which mostly makes sense with regards to the scan codes, but I'm confused by it in a few places.

For example, "Print Screen" seems to correspond to the code "E012E07C", or "Up Arrow" is "E075". On the other hand, in "keymap_common.h" in ps2_usb, it appears that "Print Screen" corresponds to "FC" and "Up Arrow" to "F5".

Would you mind giving me a brief explanation of what you did here? I'm a little confused. I know I don't strictly need to know this information to accomplish what I'm trying to, but I'm still curious.

Thanks Hasu.


Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #230 on: Thu, 12 September 2019, 23:57:47 »
The code BOOTLOADER may not work at current revision. I'll fix it some later when I get time.
Use key combo: LShift+RShift+Pause for now.

The keycombo works as what it is expected with TMK PS/2 converter on my site. and you confirmed with your other converter yourself. Code related to kick bootloader is same as the xt_usb converter, it should work. TMK firmware just jumps into bootloader area(at end section of Flash memory) when the combo is held.

Perhaps, Pro Micro bootloader may need some prerequisite in register or memory before jumping the bootloader area.

I believe this is code for the bootloader. You may want to look into the code to find something clue.
https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/caterina

And this is TMK code related to.
https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/common/avr/bootloader.c


As you know Pro micro bootloader is infamous for usability and diffcult to flash reliably due to its requirement for timing :(
I for one don't want to use my time to add support for it. But I'm open for code contribution to my repo, of course :D



Hasu -

I'm trying to make it so that I can press a button (or a combination of buttons) to reset the pro micro/enter bootloader. I tried both mapping a key to KC_BOOTLOADER and RSHIFT+LSHIFT+PAUSE, and both exhibit the same behavior - after a moment the keyboard disconnects then reconnects, and I haven't succesfully been able to use this method to flash the pro micro. I've had to press a physical button wired into the GND and RESET pins of the pro micro.

As a note, I use the RSHIFT+LSHIFT+PAUSE method to enter the bootloader on my Zenith, which uses the xt_usb converter, and that works fine. Any ideas about how to fix this problem?

Thanks!



Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #231 on: Fri, 13 September 2019, 10:40:42 »
Weird I don't know. It definitely works with the Zenith (xt_usb) but RSHIFT+LSFHIFT+PAUS does not work with my ps2 converted boards.

I can try to look at the code but I doubt I'm a competent enough programmer to solve the problem.


I'll take a look at those links and see what I can do. Thanks for the input, Hasu.

Oh - and thanks for the info about the ps2 scan codes. Definitely interested in understanding what's going on there.

   

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #232 on: Fri, 13 September 2019, 19:17:31 »
Did you check if your keyboard can recoginze the keycombo?
Some of PS/2 keyboards can fail especially if it is old without diodes.

Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #233 on: Sat, 14 September 2019, 12:02:38 »
Did you check if your keyboard can recoginze the keycombo?
Some of PS/2 keyboards can fail especially if it is old without diodes.

So I think one of the keyboards (BSR) doesn't have NKRO and so I can't actually press RSHIFT+LSHIFT+PAUS simultaneously. For this keyboard, I tried mapping a macro to RSHIFT+LSHIFTT+PAUS, but that didn't seem to work at all. Not sure why.

The other keyboard, the RT101+, has diodes and so I can actually simultaneously press RSHIFT+LSHIFT+PAUS. I get the keyboard disconnected "ding" from windows, but then just a few seconds later (maybe exactly two, going off the 2000ms delay specified in bootloader.c), I get the "reconnected" ding. I can't tell if it's actually entering the bootloader during that time, as I haven't so far been able to use this method to flash the pro micro.

in tmk_keyboard/tmk_core/common/avr/bootloader.c, I just tried setting '_delay_ms' to 10000 (10s) for both PROTOCOL_LUFA and PROTOCOL_PJRC. This certainly changed how long the keyboard went disconnected for, but it still doesn't seem to be entering the bootloader. At any rate, I'm unable to flash to it within the period between when it disconnects and reconnects, during which it presumably should be in bootloader.

I noticed in bootloader.c the following comment

Code: [Select]
/* Jumping To The Bootloader
 * http://www.pjrc.com/teensy/jump_to_bootloader.html
 *
 * This method doen't work when using LUFA. idk why.
 * - needs to initialize more regisers or interrupt setting?
 */

Maybe xt_usb is using pjrc and ps2_usb is using LUFA? I really have no idea what any of that means I'm just guessing here, but I don't know how to find out either. Or how to fix the problem, of course.
« Last Edit: Sat, 14 September 2019, 12:14:58 by PancakeMSTR »
   

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #234 on: Sat, 14 September 2019, 19:05:24 »
Are pro micros used for both your converters from same source? I guess pro micro can have different revision of bootloader.



Did you check if your keyboard can recoginze the keycombo?
Some of PS/2 keyboards can fail especially if it is old without diodes.

So I think one of the keyboards (BSR) doesn't have NKRO and so I can't actually press RSHIFT+LSHIFT+PAUS simultaneously. For this keyboard, I tried mapping a macro to RSHIFT+LSHIFTT+PAUS, but that didn't seem to work at all. Not sure why.

How did you define your keymap? Post your keymap.
I don't think it is very easy to emulate the keycombo in keymapping.


Quote
The other keyboard, the RT101+, has diodes and so I can actually simultaneously press RSHIFT+LSHIFT+PAUS. I get the keyboard disconnected "ding" from windows, but then just a few seconds later (maybe exactly two, going off the 2000ms delay specified in bootloader.c), I get the "reconnected" ding. I can't tell if it's actually entering the bootloader during that time, as I haven't so far been able to use this method to flash the pro micro.

That indicates the firmware does what it is expected.
You are on Windows? Why don't you check what happens with device manager? You will see something change on that.
If you are on Linux you can check it easily by seeing log like /var/log/kern.log.



Quote
in tmk_keyboard/tmk_core/common/avr/bootloader.c, I just tried setting '_delay_ms' to 10000 (10s) for both PROTOCOL_LUFA and PROTOCOL_PJRC. This certainly changed how long the keyboard went disconnected for, but it still doesn't seem to be entering the bootloader. At any rate, I'm unable to flash to it within the period between when it disconnects and reconnects, during which it presumably should be in bootloader.

I noticed in bootloader.c the following comment

Code: [Select]
/* Jumping To The Bootloader
 * http://www.pjrc.com/teensy/jump_to_bootloader.html
 *
 * This method doen't work when using LUFA. idk why.
 * - needs to initialize more regisers or interrupt setting?
 */

Maybe xt_usb is using pjrc and ps2_usb is using LUFA? I really have no idea what any of that means I'm just guessing here, but I don't know how to find out either. Or how to fix the problem, of course.

Both uses LUFA stack.



Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #235 on: Sat, 14 September 2019, 20:47:30 »
How did you define your keymap? Post your keymap.
I don't think it is very easy to emulate the keycombo in keymapping.


I made this keymap (Calling it IBM_AT for the moment) for my specific layout. Notice the "RESET" macro I defined, which I just tried mapping to a key in the layout.

Code: [Select]
#include "keymap_common.h"

// KC_BOOTLOADER should put the keyboard into bootloader mode, but it seems to put it in for like a second then take it out.



const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /* 0: default
* ,---.   ,---------------. ,---------------. ,---------------. ,-----------.     
* |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|     
* `---'   `---------------' `---------------' `---------------' `-----------'     
* ,-----------------------------------------------------------. ,-----------. ,---------------.
* |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|   BS  | |Ins|Hom|PgU| |NmL|  /|  *|  -|
* |-----------------------------------------------------------| |-----------| |---------------|
* |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|   |
* |-----------------------------------------------------------| `-----------' |-----------|  +|
* |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|   Ent  |               |  4|  5|  6|   |
* |-----------------------------------------------------------|     ,---.     |---------------|
* |Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|   Shift  |     |Up |     |  1|  2|  3|   |
* |-----------------------------------------------------------| ,-----------. |-----------|Ent|
* | CTRL|   |   ALT|        SPACE            |  ALT|   |  CTRL| |Lef|Dow|Rig| |      0|  .|   |
* `-----------------------------------------------------------' `-----------' `---------------'
*/

    // KEYMAP_IBM_AT(
    // ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,
    // GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
    // TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,
    // CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,                         P4,  P5,  P6,
    // LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT,          UP,           P1,  P2,  P3,  PENT,
    // LCTL,     LALT,          SPC,                            RALT,     RCTL,       LEFT,DOWN,RGHT,      P0,     PDOT
    // ),


    KEYMAP_IBM_AT(
    ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,
    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,
    CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,                         P4,  P5,  P6,
    LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT,          UP,           P1,  P2,  P3,  PENT,
    LCTL,     LALT,          SPC,                            RALT,     RCTL,       LEFT,DOWN,RGHT,      P0,     PDOT
    ),
};

enum macro_id {
  RESET,
};

const action_t PROGMEM fn_actions[] = {
    [0] = ACTION_LAYER_TOGGLE(1),                     // FN0
    [1] = ACTION_LAYER_MOMENTARY(2),                  // FN1
    [2] = ACTION_MACRO(RESET),
};



/*
 * Macro definition
 */
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
    switch (id) {
        case RESET:
          return (record->event.pressed ?
              MACRO( T(LSFT), T(RSFT), T(PAUS), END ) :
              MACRO_NONE);
    }
    return MACRO_NONE;
}



That indicates the firmware does what it is expected.
You are on Windows? Why don't you check what happens with device manager? You will see something change on that.
If you are on Linux you can check it easily by seeing log like /var/log/kern.log.

/var/log/kern.log trying to enter bootloader with RSHIFT+LSHIFT+PAUS:
Code: [Select]
7445a7446,7480
> Sep 14 19:34:09 SilverServer kernel: [  216.248715] usb 1-1.4: new full-speed USB device number 3 using ehci-pci
> Sep 14 19:34:09 SilverServer kernel: [  216.358766] usb 1-1.4: New USB device found, idVendor=feed, idProduct=6512, bcdDevice= 0.01
> Sep 14 19:34:09 SilverServer kernel: [  216.358769] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> Sep 14 19:34:09 SilverServer kernel: [  216.358771] usb 1-1.4: Product: PS/2 keyboard converter
> Sep 14 19:34:09 SilverServer kernel: [  216.358773] usb 1-1.4: Manufacturer: t.m.k.
> Sep 14 19:34:09 SilverServer kernel: [  216.378003] hidraw: raw HID events driver (C) Jiri Kosina
> Sep 14 19:34:09 SilverServer kernel: [  216.384743] usbcore: registered new interface driver usbhid
> Sep 14 19:34:09 SilverServer kernel: [  216.384744] usbhid: USB HID core driver
> Sep 14 19:34:09 SilverServer kernel: [  216.392101] input: t.m.k. PS/2 keyboard converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:FEED:6512.0001/input/input10
> Sep 14 19:34:09 SilverServer kernel: [  216.448963] hid-generic 0003:FEED:6512.0001: input,hidraw0: USB HID v1.11 Keyboard [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input0
> Sep 14 19:34:09 SilverServer kernel: [  216.449154] input: t.m.k. PS/2 keyboard converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.1/0003:FEED:6512.0002/input/input11
> Sep 14 19:34:09 SilverServer kernel: [  216.509043] hid-generic 0003:FEED:6512.0002: input,hidraw1: USB HID v1.11 Mouse [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input1
> Sep 14 19:34:09 SilverServer kernel: [  216.509301] input: t.m.k. PS/2 keyboard converter System Control as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.2/0003:FEED:6512.0003/input/input12
> Sep 14 19:34:09 SilverServer kernel: [  216.568920] input: t.m.k. PS/2 keyboard converter Consumer Control as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.2/0003:FEED:6512.0003/input/input13
> Sep 14 19:34:09 SilverServer kernel: [  216.569176] hid-generic 0003:FEED:6512.0003: input,hidraw2: USB HID v1.11 Device [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input2
> Sep 14 19:34:09 SilverServer kernel: [  216.569460] hid-generic 0003:FEED:6512.0004: hiddev0,hidraw3: USB HID v1.11 Device [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input3
> Sep 14 19:34:09 SilverServer kernel: [  216.569641] input: t.m.k. PS/2 keyboard converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.4/0003:FEED:6512.0005/input/input14
> Sep 14 19:34:10 SilverServer kernel: [  216.628980] hid-generic 0003:FEED:6512.0005: input,hidraw4: USB HID v1.11 Keyboard [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input4
> Sep 14 19:34:14 SilverServer kernel: [  221.234337] usb 1-1.4: USB disconnect, device number 3
> Sep 14 19:34:25 SilverServer kernel: [  231.620737] usb 1-1.4: new full-speed USB device number 4 using ehci-pci
> Sep 14 19:34:25 SilverServer kernel: [  231.730621] usb 1-1.4: New USB device found, idVendor=feed, idProduct=6512, bcdDevice= 0.01
> Sep 14 19:34:25 SilverServer kernel: [  231.730624] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> Sep 14 19:34:25 SilverServer kernel: [  231.730626] usb 1-1.4: Product: PS/2 keyboard converter
> Sep 14 19:34:25 SilverServer kernel: [  231.730627] usb 1-1.4: Manufacturer: t.m.k.
> Sep 14 19:34:25 SilverServer kernel: [  231.732091] input: t.m.k. PS/2 keyboard converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:FEED:6512.0006/input/input15
> Sep 14 19:34:25 SilverServer kernel: [  231.789134] hid-generic 0003:FEED:6512.0006: input,hidraw0: USB HID v1.11 Keyboard [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input0
> Sep 14 19:34:25 SilverServer kernel: [  231.790295] input: t.m.k. PS/2 keyboard converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.1/0003:FEED:6512.0007/input/input16
> Sep 14 19:34:25 SilverServer kernel: [  231.849023] hid-generic 0003:FEED:6512.0007: input,hidraw1: USB HID v1.11 Mouse [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input1
> Sep 14 19:34:25 SilverServer kernel: [  231.850088] input: t.m.k. PS/2 keyboard converter System Control as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.2/0003:FEED:6512.0008/input/input17
> Sep 14 19:34:25 SilverServer kernel: [  231.908939] input: t.m.k. PS/2 keyboard converter Consumer Control as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.2/0003:FEED:6512.0008/input/input18
> Sep 14 19:34:25 SilverServer kernel: [  231.909193] hid-generic 0003:FEED:6512.0008: input,hidraw2: USB HID v1.11 Device [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input2
> Sep 14 19:34:25 SilverServer kernel: [  231.910258] hid-generic 0003:FEED:6512.0009: hiddev0,hidraw3: USB HID v1.11 Device [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input3
> Sep 14 19:34:25 SilverServer kernel: [  231.911226] input: t.m.k. PS/2 keyboard converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.4/0003:FEED:6512.000A/input/input19
> Sep 14 19:34:25 SilverServer kernel: [  231.969145] hid-generic 0003:FEED:6512.000A: input,hidraw4: USB HID v1.11 Keyboard [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input4
> Sep 14 19:34:36 SilverServer kernel: [  243.419667] usb 1-1.4: USB disconnect, device number 4

/var/log/kern.log entering bootloader by bridging GND and RST on pro micro:


Code: [Select]
7496a7497,7522
> Sep 14 19:39:09 SilverServer kernel: [  515.741535] usb 1-1.4: new full-speed USB device number 6 using ehci-pci
> Sep 14 19:39:58 SilverServer kernel: [  564.921669] usb 1-1.4: new full-speed USB device number 7 using ehci-pci
> Sep 14 19:39:58 SilverServer kernel: [  565.031119] usb 1-1.4: New USB device found, idVendor=2341, idProduct=0036, bcdDevice= 0.01
> Sep 14 19:39:58 SilverServer kernel: [  565.031123] usb 1-1.4: New USB device strings: Mfr=2, Product=1, SerialNumber=0
> Sep 14 19:39:58 SilverServer kernel: [  565.031124] usb 1-1.4: Product: Arduino Leonardo
> Sep 14 19:39:58 SilverServer kernel: [  565.031126] usb 1-1.4: Manufacturer: Arduino LLC
> Sep 14 19:39:58 SilverServer kernel: [  565.043666] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
> Sep 14 19:39:58 SilverServer kernel: [  565.044044] usbcore: registered new interface driver cdc_acm
> Sep 14 19:39:58 SilverServer kernel: [  565.044044] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
> Sep 14 19:40:06 SilverServer kernel: [  572.736657] usb 1-1.4: USB disconnect, device number 7
> Sep 14 19:40:06 SilverServer kernel: [  572.969688] usb 1-1.4: new full-speed USB device number 8 using ehci-pci
> Sep 14 19:40:06 SilverServer kernel: [  573.079438] usb 1-1.4: New USB device found, idVendor=feed, idProduct=6512, bcdDevice= 0.01
> Sep 14 19:40:06 SilverServer kernel: [  573.079441] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> Sep 14 19:40:06 SilverServer kernel: [  573.079443] usb 1-1.4: Product: PS/2 keyboard converter
> Sep 14 19:40:06 SilverServer kernel: [  573.079445] usb 1-1.4: Manufacturer: t.m.k.
> Sep 14 19:40:06 SilverServer kernel: [  573.080919] input: t.m.k. PS/2 keyboard converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:FEED:6512.0010/input/input25
> Sep 14 19:40:06 SilverServer kernel: [  573.138090] hid-generic 0003:FEED:6512.0010: input,hidraw0: USB HID v1.11 Keyboard [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input0
> Sep 14 19:40:06 SilverServer kernel: [  573.139229] input: t.m.k. PS/2 keyboard converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.1/0003:FEED:6512.0011/input/input26
> Sep 14 19:40:06 SilverServer kernel: [  573.197981] hid-generic 0003:FEED:6512.0011: input,hidraw1: USB HID v1.11 Mouse [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input1
> Sep 14 19:40:06 SilverServer kernel: [  573.199025] input: t.m.k. PS/2 keyboard converter System Control as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.2/0003:FEED:6512.0012/input/input27
> Sep 14 19:40:06 SilverServer kernel: [  573.257893] input: t.m.k. PS/2 keyboard converter Consumer Control as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.2/0003:FEED:6512.0012/input/input28
> Sep 14 19:40:06 SilverServer kernel: [  573.258144] hid-generic 0003:FEED:6512.0012: input,hidraw2: USB HID v1.11 Device [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input2
> Sep 14 19:40:06 SilverServer kernel: [  573.259212] hid-generic 0003:FEED:6512.0013: hiddev0,hidraw3: USB HID v1.11 Device [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input3
> Sep 14 19:40:06 SilverServer kernel: [  573.260386] input: t.m.k. PS/2 keyboard converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.4/0003:FEED:6512.0014/input/input29
> Sep 14 19:40:06 SilverServer kernel: [  573.318085] hid-generic 0003:FEED:6512.0014: input,hidraw4: USB HID v1.11 Keyboard [t.m.k. PS/2 keyboard converter] on usb-0000:00:1a.0-1.4/input4
> Sep 14 19:40:11 SilverServer kernel: [  578.112654] usb 1-1.4: USB disconnect, device number 8

Happy to try anything you suggest, or provide further information.

   

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #236 on: Sat, 14 September 2019, 21:20:46 »
Your keymap is lagacy now  and the latest firmware for PS/2 converter doesn't lagacy keymap anymore by default, you have to use unimap instead. You have to comment out UNIMAP_ENABLE=yes and KEYMAP_SCTION_ENABLE=yes lines in Makefile.32u4 to enable the lagacy keymap. And T()  macro means 'type', not hold so it won't work for modifiers if I remember it correctly.

Let's forget the keymap and macro here, and test the converter with  RT101+.

From the log you post I think the pro micro uses old bootloader and it probably comes from original arduino Leonardo.

I still suspect bootloader of you converters are not same and you need to something to do before jump.

I like to see /var/log/kern.log
1) when entering bootloader of XT converter by pressing the keycombo
2) when entering bootloader of XT converter by using RST pin

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #237 on: Sat, 14 September 2019, 21:31:34 »
The bootloader seems to be comprised of sources I refered previsously.
I just skimmed this now and found bootlkey and something, this is needed to enter bootloader? It is worth looking into this closely and write code to test.

https://github.com/arduino/ArduinoCore-avr/blob/master/bootloaders/caterina/Caterina.c

Or you may find solution or clue in QMK or other projects?


EDIT: And I found this issue in TMK repo. Probably you have to set 'bootkey' before jump(reset) bootloader.
https://github.com/tmk/tmk_keyboard/issues/256
« Last Edit: Sat, 14 September 2019, 21:38:09 by hasu »

Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #238 on: Sun, 15 September 2019, 00:46:19 »
Your keymap is lagacy now  and the latest firmware for PS/2 converter doesn't lagacy keymap anymore by default, you have to use unimap instead. You have to comment out UNIMAP_ENABLE=yes and KEYMAP_SCTION_ENABLE=yes lines in Makefile.32u4 to enable the lagacy keymap. And T()  macro means 'type', not hold so it won't work for modifiers if I remember it correctly.

Yeah....I kind of did that on purpose. I don't understand/know how to use unimap. I'll...uhh...try to figure it out.

I like to see /var/log/kern.log
1) when entering bootloader of XT converter by pressing the keycombo
2) when entering bootloader of XT converter by using RST pin

Let me give this code

EDIT: And I found this issue in TMK repo. Probably you have to set 'bootkey' before jump(reset) bootloader.
https://github.com/tmk/tmk_keyboard/issues/256

a try first, and if I can't get anywhere with that I'll post the /var/log/kern.log outputs you requested.
« Last Edit: Sun, 15 September 2019, 00:48:05 by PancakeMSTR »
   


Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #240 on: Sun, 15 September 2019, 14:21:20 »
Hasu -

I added that code (the promicro_bootloader_jmp function) into bootloader.c and wrote a macro in keymap_IBM_AT.c to call it. It works, i.e. I successfully flashed my pro micro by mapping a key to PROMICRO_PROGRAM and was able to enter the bootloader mode by pressing it.

I still think it's strange that I have to use this method to enter the bootloader for ps2_usb, though. My xt_usb conversion of my Zenith uses a pro micro too and RSHIFT+LSHIFT+PAUS enters the bootloader no problem. Very strange, IMO.

Anyway, Thank you so much for working with me on this, at some point I will fork TMK and upload my changes to it. Been meaning to do that.

And in the meantime, I'll try to see if I can figure out unimap and use that instead of legacy keymap. 

Thanks again.

   

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #241 on: Sun, 15 September 2019, 19:05:58 »
Great.

I also have no idea why xt_usb conveter works with the bootlader. /var/log/kern.log would be helpful probably as I said.
Quote
I like to see /var/log/kern.log
1) when entering bootloader of XT converter by pressing the keycombo
2) when entering bootloader of XT converter by using RST pin

How did you build firmware for your xt_usb converter? it is really TMK, or QMK?

Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #242 on: Sun, 15 September 2019, 20:13:58 »
Great.

I also have no idea why xt_usb conveter works with the bootlader. /var/log/kern.log would be helpful probably as I said.
Quote
I like to see /var/log/kern.log
1) when entering bootloader of XT converter by pressing the keycombo
2) when entering bootloader of XT converter by using RST pin

How did you build firmware for your xt_usb converter? it is really TMK, or QMK?

You know what, color me confused Hasu. I sincerely apologize, I converted my Zenith with a Teensy 2.0. I don't know why I had convinced myself so that I had used a pro micro, but clearly I confused myself along the line somewhere.

The magic command does in fact work just fine with the Teensy, I can open up teensy.exe, enter bootloader mode, and then flash to it, all without pressing any physical buttons on the microcontroller.

Oops. Sorry Hasu!

Oh, and yes it's definitely TMK. I tried to get QMK working, and it almost does. With QMK, all seems very well, then all of a sudden the keyboard goes nuts and it's like the keymap breaks and even my normal keyboard starts behaving strangely and I have to reboot my computer to fix it.

For example, the keyboard will work normally for a bit, then all of a sudden the inputs go crazy and, like, the "a" key starts behaving like tab or something. I can probably reproduce the behavior and try to give you more details if you want.

Oh hasu look at this: https://github.com/qmk/qmk_firmware/issues/3091

Something I discovered while trying to convert a different keyboard, but that I got working with QMK (and a pro micro). To get the reset button working you have to set BOOTLOADER to "caterina," maybe there is an easy fix for TMK in there somewhere?
« Last Edit: Sun, 15 September 2019, 20:28:20 by PancakeMSTR »
   

Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #243 on: Sun, 22 March 2020, 19:17:57 »
Hasu,
I just converted a Northgate Omnikey 102 from PS2 (scan code set 2) to USB, and I'm having an issue. Specifically, When plugging the keyboard in, I get the "device connected" chime, immediately followed by the "device disconnected chime," and the two back LEDs on the pro-micro go red and nothing works.

Note that this doesn't happen every single time, sometimes I'll plug it in and everything will work normally, or I can also get it working by resetting the pro micro a bunch of times.

Actually, testing this some more just now, it seems like the only way to reliably get it working is reset the pro micro (at least once, sometimes more) by bridging the GND and RST pins.

I believe I'm having the same issue on another ps2-usb conversion I did on an RT101+, I think the behavior is the same.

Do you have any idea how to fix this problem? I'm not really familiar enough with the code and protocol conversion process to come solve it quickly.

Let me know if you have any questions. Thanks Hasu.
« Last Edit: Sun, 22 March 2020, 19:33:51 by PancakeMSTR »
   

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #244 on: Sun, 22 March 2020, 21:40:16 »
It is certainly difficult to debug this kind of problem.
Try getting output from hid_listen when it happens, it may be helpful.
Also OS system logs would be very helpful but  I don't know how to get them on Windows(I assume seeing you said 'chime'). If the problem also happens on Linux check logs under /var/log/ like kern.log or syslog, you may find USB errors or something.


The converter firmware can do something perhaps but I don't have definite idea.
I'd think of aspect of hardware before tweeking firmware.

1. ProMicro bootloader starts first and then runs converter firmware at power up. Meanwhile Teensy and TMK converter runs firmware immediately without bootloader intervention. This may cause the problem.

If you have Teensy or TMK converter try it and see difference.

2. Some keyboards draw more rush current on plugin, this can make microcontroller unstable and causes Brownout-reset in the result. This doesn't matter in most cases because it is recovered with brownout-reset.
This can happen also on TMK converter and Teensy when plug Model F with converter already powered from USB port.  To prevent/mitigate this connect keyboard with converter first, then plugin them USB port. Use decent USB cable too.

Try other keyboards and see difference. Soldering big enough capacitor like 100uF or more on ProMicro may prevent this.

3. Check USB cable, keyboard cable, wires and soldering points. Unstable connection may cause unexpected result.



Hasu,
I just converted a Northgate Omnikey 102 from PS2 (scan code set 2) to USB, and I'm having an issue. Specifically, When plugging the keyboard in, I get the "device connected" chime, immediately followed by the "device disconnected chime," and the two back LEDs on the pro-micro go red and nothing works.

TMK PS/2 firmware doesn't control any LED on Pro Micro. What those LEDs show when working normally?
I guess bootloader controls the LEDs.

Pro Micro seems to have various version/configurations from various vendors/manufacturers and this makes really difficult to support people with them in trouble.


Quote
Note that this doesn't happen every single time, sometimes I'll plug it in and everything will work normally, or I can also get it working by resetting the pro micro a bunch of times.

How often does the issue happen?


Quote
Actually, testing this some more just now, it seems like the only way to reliably get it working is reset the pro micro (at least once, sometimes more) by bridging the GND and RST pins.

I believe I'm having the same issue on another ps2-usb conversion I did on an RT101+, I think the behavior is the same.

Bridging is not reliable from my experience. I also bridge the pins with tweezers and know it doesn't work sometimes. You should solder push button perhaps.

Post detailed pics of both keyboards and Pro Micro so that we can know how your keyboard is converted. That would be useful to help you.


EDIT: And try Soarer's converter and see difference.
« Last Edit: Mon, 23 March 2020, 22:56:34 by hasu »

Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #245 on: Mon, 23 March 2020, 21:18:21 »
Ok that's a lot of stuff Hasu. I'll get to each of these in turn and update you accordingly. Thank you for the response.
   

Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #246 on: Sun, 12 April 2020, 14:33:17 »
Hasu,
I've got some updates for you. Forgive me for not having gotten to try everything you suggested, but I do have some findings.

- I tried converting this board with a teensy, and, indeed, it works fine. No weird issues at all.

- I figured out a consistent, though hacky, way to get the pro micro to work. Steps are:
  • Plug in pro micro (keyboard does not work at this point).
  • Reset pro micro (bridge GND and RST)
  • Wait a little bit (I'm guessing for wait for the pro-micro to automatically exit bootloader mode)
  • ->Keyboard works

- So, once again I guess, is there some adjustment that can be made to the firmware to automatically do this? Like recognize that it's a pro-micro I guess, then send the appropriate signals to it so that you don't have to do it manually?

I do actually wonder - if you could just put a different bootloader on it, would that work? I'll have to try that one.

Let me know your thoughts. Thanks Hasu.




« Last Edit: Sun, 12 April 2020, 14:48:26 by PancakeMSTR »
   

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #247 on: Sun, 12 April 2020, 18:16:49 »
Hasu,
I've got some updates for you. Forgive me for not having gotten to try everything you suggested, but I do have some findings.

- I tried converting this board with a teensy, and, indeed, it works fine. No weird issues at all.

- I figured out a consistent, though hacky, way to get the pro micro to work. Steps are:
  • Plug in pro micro (keyboard does not work at this point).
  • Reset pro micro (bridge GND and RST)
  • Wait a little bit (I'm guessing for wait for the pro-micro to automatically exit bootloader mode)
  • ->Keyboard works

- So, once again I guess, is there some adjustment that can be made to the firmware to automatically do this? Like recognize that it's a pro-micro I guess, then send the appropriate signals to it so that you don't have to do it manually?

I do actually wonder - if you could just put a different bootloader on it, would that work? I'll have to try that one.

Let me know your thoughts. Thanks Hasu.







I guess power voltage causes if the issue happens on specific keyboards.
You did solder bridge on J1?

I got cheap Pro Micro/5V clone from China vendor other day and found it is not configured as 5V correctly as I expected. It gives keyboard only 4.6V unless you make solder bridge on J1.
I believe SparkFun Pro Micro is legitimate and J1 is already solder bridged for users from the factory.


EDIT:
PancakeMSTR, Could you try this new converter on your Zenith, Omnikey and RT101+ and report the result on its thread? It would be helpful to improve the converter firmware code. The converter supports AT,XT and Terminal with one firmware like soarer's

https://geekhack.org/index.php?topic=103648.0
« Last Edit: Sun, 12 April 2020, 18:21:40 by hasu »

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK PS/2 to USB keyboard converter
« Reply #248 on: Sun, 12 April 2020, 21:42:50 »
I found that prebuilt firmware doesn't work at all on my Pro Micro, it still stops working even after pressing reset button, unlike your case.
This means that firmware downlaoded from Keymap Editor or github won't work with Pro Micro.


EDIT: Ignore this, I was confused. Prebuilt binary 'ps2_usb_rev1_unimap.hex' is not compatible with Pro Micro from the beginning.



I confirmed that firmware built from the latest source works with my cheap Pro Micro got from ebay.

I'll update the prebuilt firmware some later but you have to build firmware yourself until then.

EDIT: I think it should work if you build firmware from the latest source.  You will get `ps2_usb_32u4.hex` file with command `make -f Makefile.32u4`.




You still want to check this project and you can help me.

EDIT:
PancakeMSTR, Could you try this new converter on your Zenith, Omnikey and RT101+ and report the result on its thread? It would be helpful to improve the converter firmware code. The converter supports AT,XT and Terminal with one firmware like soarer's

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

« Last Edit: Mon, 13 April 2020, 02:18:49 by hasu »

Offline PancakeMSTR

  • Posts: 491
Re: TMK PS/2 to USB keyboard converter
« Reply #249 on: Mon, 13 April 2020, 10:18:28 »

I guess power voltage causes if the issue happens on specific keyboards.
You did solder bridge on J1?

Lol. J1 was not solder bridged, but I just bridged it myself and the keyboard now works perfectly. That was clearly the problem. Welp, at least there was a really easy solution this time!!

EDIT:
PancakeMSTR, Could you try this new converter on your Zenith, Omnikey and RT101+ and report the result on its thread? It would be helpful to improve the converter firmware code. The converter supports AT,XT and Terminal with one firmware like soarer's
https://geekhack.org/index.php?topic=103648.0

I'd be delighted. I'll report back with results when I get a chance to test it.


Thanks as usual Hasu!