[ot][personal][spam] trying to make my unihertz titan boot

Undiscussed Horrific Abuse, One Victim of Many gmkarl at gmail.com
Tue May 3 09:02:00 PDT 2022


i'm looking at the disassembly around the ioctl calls using gdb.

the object actually has debugging symbols, so functions are named.

it looks like ioctl is called by passing arguments on registers (fastcall?)
here. the first argument is in edi, fd 13. esi, edx, and eax are also set.

i'll look up the value for TCGETS in my include files to deduce which
register is the second argument for sure.


it turns out esi is the second parameter. here it's TIOCCBRK, so i've
actually missed the section of code I wanted to inspect, this run.



looping and catching ioctls with gdb, i'm seeing it differently from the
strace. I see TIOCCBRK, then TCFLSH, then TIOCMBIS , but no TCGETS nor

when I straced I had to pass -f, maybe I have to get gdb to follow forks
too. additionally, I could try restarting the process, it's kind of deep in


set follow-fork-mode parent|child|ask
break ioctl
commands 1
p/x $edi
p/x $esi


it seems strange to me that more ioctls do not show in gdb. I wonder where
they are hiding. anyway, I can use strace.



the unabbreviated unellided strace seems nice to me.

reviewing the complete ioctls I don't actually see any changes made to the
serial. the data set is the same as the data retrieved.

I could find where it is set from the strace and figure out what it's
ensuring but it probably makes sense to dive into the communication bytes
for now.



I manually started handshaking with the flashing protocol in python :)

import os

# wait for device connection, only provides serial port briefly
while True:
  fd = os.open('/dev/ttyACM0', os.O_RDWR|os.O_NOCTTY)
 except FileNotFoundError:

# connected, handshake
os.write(fd, b'\xa0')
print(os.read(fd, 5)) # prints b'READY'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/html
Size: 3287 bytes
Desc: not available
URL: <https://lists.cpunks.org/pipermail/cypherpunks/attachments/20220503/f630241c/attachment.txt>

More information about the cypherpunks mailing list