I'm trying to create UART cable for A520F phone with USB type-c. Seems, there is no UART debug modes S8+ either. On Samsung phones with micro USB one may access UART JIG mode with 619K resistor, connected to micro USB ID pin.

How I test:

I can dump MUIC registers. I have raw usb type c plug(mounted on board with solder pads), with cable soldered, which maps usb type c pins on breadboard. So I assemble test scheme and analyze MUIC registers and MUIC linux kernel module log output upon attachment.

What I currently find:

  • The receptacle is managed by s2mu004 kernel module. Module is capable to manage non type-c receptacles (see CONFIG_MUIC_S2MU004_NON_USB_C_TYPE option)
  • Receptacle has non standard pinout: B12 (considering, A row facing top, B row facing bottom side of the phone) pin is not connected to the ground.
  • Device can detect water in usb receptacle, by measuring resistance between B12 pin.
  • Device can detect plug attach, with ALL pins unconnected, including GND and VBUS pins. How?
  • Attaching 619K resistor to B12 pin results in ADC_JIG_UART_ON value in ADC register, during water detection sequence.
  • Attaching 619K resistor to one of CC pins result in no device connected.
  • Enter UART mode by attaching resistors should be possible in NON type-c mode. (file s2mu004-muic.c ,lines 2835,2797)
  • Device has no USB type-c debug accessory mode(tried both with rd/rd and rp/rp resistors on CC pins) - rd/rd results in OTG mode.

What else can I try? If you were this device developer, how would you hide UART debug mode from users?

  • Does it have a headphone jack? AFAIK some phones have UART connected to it. – Igor Skochinsky Jan 15 at 7:55
  • Yes, it has headphone jack, but I believe, that uart mode is multiplexed with usb type c port, because UART Jig is mentioned in usb attach/detach handling routine. – Dzmitry Sankouski Jan 26 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.