viveris / uMTP-Responder

Lightweight USB Media Transfer Protocol (MTP) responder daemon for GNU/Linux
GNU General Public License v3.0
184 stars 49 forks source link

Wrong name in file/folder creation #99

Closed tiopex closed 6 months ago

tiopex commented 6 months ago

While creating a folder it returns Chinese characters. It only works correctly when moving/copying files from outside.

It happens on Windows 10 and 11.

below are debug logs from create "test" directory. There is "test" in the payload but in "build_full_path" unexpected Chinese characters.

[uMTPrd - 11:07:08 - Debug] --------------------------------------------------
[uMTPrd - 11:07:08 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 20
[uMTPrd - 11:07:08 - Debug] MTP Packet size : 20 bytes
[uMTPrd - 11:07:08 - Debug] MTP Operation   : 0x0001 (OPERATION)
[uMTPrd - 11:07:08 - Debug] MTP code        : 0x100C (MTP_OPERATION_SEND_OBJECT_INFO)
[uMTPrd - 11:07:08 - Debug] MTP Tx ID       : 0x00000073
[uMTPrd - 11:07:08 - Debug] Header : 
[uMTPrd - 11:07:08 - Debug] 14 00 00 00 01 00 0C 10 73 00 00 00              ........s...     
[uMTPrd - 11:07:08 - Debug] Payload : 
[uMTPrd - 11:07:08 - Debug] 02 00 FF FF FF FF FF FF                          ........         
[uMTPrd - 11:07:08 - Debug] MTP_OPERATION_SEND_OBJECT_INFO : Rx dataset...
[uMTPrd - 11:07:08 - Debug] A4 00 00 00 02 00 0C 10 73 00 00 00 00 00 00 00  ........s....... 
[uMTPrd - 11:07:08 - Debug] 01 30 00 00 00 00 00 00 00 30 00 00 00 00 00 00  .0.......0...... 
[uMTPrd - 11:07:08 - Debug] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:08 - Debug] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:08 - Debug] 0C 4E 00 6F 00 77 00 79 00 20 00 66 00 6F 00 6C  .N.o.w.y...f.o.l 
[uMTPrd - 11:07:08 - Debug] 00 64 00 65 00 72 00 00 00 12 32 00 30 00 32 00  .d.e.r....2.0.2. 
[uMTPrd - 11:07:08 - Debug] 34 00 30 00 31 00 30 00 32 00 54 00 30 00 38 00  4.0.1.0.2.T.0.8. 
[uMTPrd - 11:07:08 - Debug] 34 00 30 00 34 00 38 00 2E 00 30 00 00 00 12 32  4.0.4.8...0....2 
[uMTPrd - 11:07:08 - Debug] 00 30 00 32 00 34 00 30 00 31 00 30 00 32 00 54  .0.2.4.0.1.0.2.T 
[uMTPrd - 11:07:08 - Debug] 00 30 00 38 00 34 00 30 00 34 00 38 00 2E 00 30  .0.8.4.0.4.8...0 
[uMTPrd - 11:07:08 - Debug] 00 00 00 00                                      ....             
[uMTPrd - 11:07:08 - Debug] Incoming dataset : 164 bytes (raw) 164 bytes, operation 0x2, code 0x100c, tx_id: 73
[uMTPrd - 11:07:08 - Debug] mtp_get_storage_flags : FFFF0002
[uMTPrd - 11:07:08 - Debug] mtp_get_storage_flags : FFFF0002 -> 0x00000000
[uMTPrd - 11:07:08 - Debug] MTP_OPERATION_SEND_OBJECT_INFO : 0x3001 objectformat Size 0, Parent 0x00000000, type: 0, strlen 12 str:Nowy folder
[uMTPrd - 11:07:08 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:08 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:08 - Debug] build_full_path : / -> /mnt//
[uMTPrd - 11:07:08 - Debug] MTP_OPERATION_SEND_OBJECT_INFO : Parent folder /mnt//
[uMTPrd - 11:07:08 - Debug] MTP_OPERATION_SEND_OBJECT_INFO : Creating /mnt///Nowy folder ...
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_index_by_id : 0xFFFF0002
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_index_by_id : FFFF0002 -> 1
[uMTPrd - 11:07:09 - Debug] add_entry : File not present - add entry (Nowy folder)
[uMTPrd - 11:07:09 - Debug] MTP_OPERATION_SEND_OBJECT_INFO : Response - storageid: 0xFFFF0002, parent_handle: 0xFFFFFFFF, new_handle: 0x00000012 
[uMTPrd - 11:07:09 - Debug] Entry 0 - /
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:09 - Debug] build_full_path : / -> /mnt//
[uMTPrd - 11:07:09 - Debug] inotify_thread (IN_CREATE): Entry Nowy folder already in the db ! (Handle 0x00000012)
[uMTPrd - 11:07:09 - Debug] inotify_thread (IN_CREATE): Watch point descriptor not found in the db ! (Descriptor 0x00000001)
[uMTPrd - 11:07:09 - Debug] Status response (24 Bytes):
[uMTPrd - 11:07:09 - Debug] 18 00 00 00 03 00 01 20 73 00 00 00 02 00 FF FF  ........s....... 
[uMTPrd - 11:07:09 - Debug] FF FF FF FF 12 00 00 00                          ........         
[uMTPrd - 11:07:09 - Debug] --------------------------------------------------
[uMTPrd - 11:07:09 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 32
[uMTPrd - 11:07:09 - Debug] MTP Packet size : 32 bytes
[uMTPrd - 11:07:09 - Debug] MTP Operation   : 0x0001 (OPERATION)
[uMTPrd - 11:07:09 - Debug] MTP code        : 0x9805 (MTP_OPERATION_GET_OBJECT_PROP_LIST )
[uMTPrd - 11:07:09 - Debug] MTP Tx ID       : 0x00000074
[uMTPrd - 11:07:09 - Debug] Header : 
[uMTPrd - 11:07:09 - Debug] 20 00 00 00 01 00 05 98 74 00 00 00              ........t...     
[uMTPrd - 11:07:09 - Debug] Payload : 
[uMTPrd - 11:07:09 - Debug] 12 00 00 00 00 00 00 00 02 DC 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:09 - Debug] 00 00 00 00                                      ....             
[uMTPrd - 11:07:09 - Debug] MTP_OPERATION_GET_OBJECT_PROP_LIST :(Handle: 0x00000012 FormatCode: 0x00000000 ObjPropCode: 0x0000DC02 ObjPropGroupCode: 0x00000000 Depth: 0)
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:09 - Debug] build_full_path : Nowy folder -> /mnt/Nowy folder
[uMTPrd - 11:07:09 - Debug] MTP_OPERATION_GET_OBJECT_PROP_LIST response (26 Bytes):
[uMTPrd - 11:07:09 - Debug] 1A 00 00 00 02 00 05 98 74 00 00 00 01 00 00 00  ........t....... 
[uMTPrd - 11:07:09 - Debug] 12 00 00 00 02 DC 04 00 01 30                    .........0       
[uMTPrd - 11:07:09 - Debug] Status response (12 Bytes):
[uMTPrd - 11:07:09 - Debug] 0C 00 00 00 03 00 01 20 74 00 00 00              ........t...     
[uMTPrd - 11:07:09 - Debug] --------------------------------------------------
[uMTPrd - 11:07:09 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 20
[uMTPrd - 11:07:09 - Debug] MTP Packet size : 20 bytes
[uMTPrd - 11:07:09 - Debug] MTP Operation   : 0x0001 (OPERATION)
[uMTPrd - 11:07:09 - Debug] MTP code        : 0x9802 (MTP_OPERATION_GET_OBJECT_PROP_DESC )
[uMTPrd - 11:07:09 - Debug] MTP Tx ID       : 0x00000075
[uMTPrd - 11:07:09 - Debug] Header : 
[uMTPrd - 11:07:09 - Debug] 14 00 00 00 01 00 02 98 75 00 00 00              ........u...     
[uMTPrd - 11:07:09 - Debug] Payload : 
[uMTPrd - 11:07:09 - Debug] 0B DC 00 00 01 30 00 00                          .....0..         
[uMTPrd - 11:07:09 - Debug] build_properties_dataset : 0xDC0B (MTP_PROPERTY_PARENT_OBJECT) (Format : 0x3001 - MTP_FORMAT_ASSOCIATION )
[uMTPrd - 11:07:09 - Debug] MTP_OPERATION_GET_OBJECT_PROP_DESC response (26 Bytes):
[uMTPrd - 11:07:09 - Debug] 1A 00 00 00 02 00 02 98 75 00 00 00 0B DC 06 00  ........u....... 
[uMTPrd - 11:07:09 - Debug] 00 00 00 00 00 00 00 00 00 00                    ..........       
[uMTPrd - 11:07:09 - Debug] Status response (12 Bytes):
[uMTPrd - 11:07:09 - Debug] 0C 00 00 00 03 00 01 20 75 00 00 00              ........u...     
[uMTPrd - 11:07:09 - Debug] --------------------------------------------------
[uMTPrd - 11:07:09 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 32
[uMTPrd - 11:07:09 - Debug] MTP Packet size : 32 bytes
[uMTPrd - 11:07:09 - Debug] MTP Operation   : 0x0001 (OPERATION)
[uMTPrd - 11:07:09 - Debug] MTP code        : 0x9805 (MTP_OPERATION_GET_OBJECT_PROP_LIST )
[uMTPrd - 11:07:09 - Debug] MTP Tx ID       : 0x00000076
[uMTPrd - 11:07:09 - Debug] Header : 
[uMTPrd - 11:07:09 - Debug] 20 00 00 00 01 00 05 98 76 00 00 00              ........v...     
[uMTPrd - 11:07:09 - Debug] Payload : 
[uMTPrd - 11:07:09 - Debug] 12 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00  ................ 
[uMTPrd - 11:07:09 - Debug] 00 00 00 00                                      ....             
[uMTPrd - 11:07:09 - Debug] MTP_OPERATION_GET_OBJECT_PROP_LIST :(Handle: 0x00000012 FormatCode: 0x00000000 ObjPropCode: 0xFFFFFFFF ObjPropGroupCode: 0x00000000 Depth: 0)
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:09 - Debug] build_full_path : Nowy folder -> /mnt/Nowy folder
[uMTPrd - 11:07:09 - Debug] MTP_OPERATION_GET_OBJECT_PROP_LIST response (257 Bytes):
[uMTPrd - 11:07:09 - Debug] 01 01 00 00 02 00 05 98 76 00 00 00 0B 00 00 00  ........v....... 
[uMTPrd - 11:07:09 - Debug] 12 00 00 00 01 DC 06 00 02 00 FF FF 12 00 00 00  ................ 
[uMTPrd - 11:07:09 - Debug] 02 DC 04 00 01 30 12 00 00 00 0B DC 06 00 00 00  .....0.......... 
[uMTPrd - 11:07:09 - Debug] 00 00 12 00 00 00 04 DC 08 00 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:09 - Debug] 00 00 12 00 00 00 03 DC 04 00 00 00 12 00 00 00  ................ 
[uMTPrd - 11:07:09 - Debug] 07 DC FF FF 0C 4E 00 6F 00 77 00 79 00 20 00 66  .....N.o.w.y...f 
[uMTPrd - 11:07:09 - Debug] 00 6F 00 6C 00 64 00 65 00 72 00 00 00 12 00 00  .o.l.d.e.r...... 
[uMTPrd - 11:07:09 - Debug] 00 44 DC FF FF 0C 4E 00 6F 00 77 00 79 00 20 00  .D....N.o.w.y... 
[uMTPrd - 11:07:09 - Debug] 66 00 6F 00 6C 00 64 00 65 00 72 00 00 00 12 00  f.o.l.d.e.r..... 
[uMTPrd - 11:07:09 - Debug] 00 00 E0 DC FF FF 00 12 00 00 00 08 DC FF FF 10  ................ 
[uMTPrd - 11:07:09 - Debug] 32 00 30 00 32 00 33 00 31 00 32 00 32 00 39 00  2.0.2.3.1.2.2.9. 
[uMTPrd - 11:07:09 - Debug] 54 00 31 00 31 00 30 00 37 00 30 00 38 00 00 00  T.1.1.0.7.0.8... 
[uMTPrd - 11:07:09 - Debug] 12 00 00 00 09 DC FF FF 10 32 00 30 00 32 00 33  .........2.0.2.3 
[uMTPrd - 11:07:09 - Debug] 00 31 00 32 00 32 00 39 00 54 00 31 00 31 00 30  .1.2.2.9.T.1.1.0 
[uMTPrd - 11:07:09 - Debug] 00 37 00 30 00 38 00 00 00 12 00 00 00 41 DC 0A  .7.0.8.......A.. 
[uMTPrd - 11:07:09 - Debug] 00 12 00 00 00 13 00 00 00 14 00 00 00 15 00 00  ................ 
[uMTPrd - 11:07:09 - Debug] 00                                               .                
[uMTPrd - 11:07:09 - Debug] Status response (12 Bytes):
[uMTPrd - 11:07:09 - Debug] 0C 00 00 00 03 00 01 20 76 00 00 00              ........v...     
[uMTPrd - 11:07:09 - Debug] --------------------------------------------------
[uMTPrd - 11:07:09 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 16
[uMTPrd - 11:07:09 - Debug] MTP Packet size : 16 bytes
[uMTPrd - 11:07:09 - Debug] MTP Operation   : 0x0001 (OPERATION)
[uMTPrd - 11:07:09 - Debug] MTP code        : 0x1008 (MTP_OPERATION_GET_OBJECT_INFO)
[uMTPrd - 11:07:09 - Debug] MTP Tx ID       : 0x00000077
[uMTPrd - 11:07:09 - Debug] Header : 
[uMTPrd - 11:07:09 - Debug] 10 00 00 00 01 00 08 10 77 00 00 00              ........w...     
[uMTPrd - 11:07:09 - Debug] Payload : 
[uMTPrd - 11:07:09 - Debug] 12 00 00 00                                      ....             
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:09 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:09 - Debug] build_full_path : Nowy folder -> /mnt/Nowy folder
[uMTPrd - 11:07:09 - Debug] MTP_OPERATION_GET_OBJECT_INFO response (156 Bytes):
[uMTPrd - 11:07:09 - Debug] 9C 00 00 00 02 00 08 10 77 00 00 00 02 00 FF FF  ........w....... 
[uMTPrd - 11:07:09 - Debug] 01 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00  .0.............. 
[uMTPrd - 11:07:09 - Debug] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:09 - Debug] 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:09 - Debug] 0C 4E 00 6F 00 77 00 79 00 20 00 66 00 6F 00 6C  .N.o.w.y...f.o.l 
[uMTPrd - 11:07:09 - Debug] 00 64 00 65 00 72 00 00 00 10 32 00 30 00 32 00  .d.e.r....2.0.2. 
[uMTPrd - 11:07:09 - Debug] 33 00 31 00 32 00 32 00 39 00 54 00 31 00 31 00  3.1.2.2.9.T.1.1. 
[uMTPrd - 11:07:09 - Debug] 30 00 37 00 30 00 38 00 00 00 10 32 00 30 00 32  0.7.0.8....2.0.2 
[uMTPrd - 11:07:09 - Debug] 00 33 00 31 00 32 00 32 00 39 00 54 00 31 00 31  .3.1.2.2.9.T.1.1 
[uMTPrd - 11:07:09 - Debug] 00 30 00 37 00 30 00 38 00 00 00 00              .0.7.0.8....     
[uMTPrd - 11:07:09 - Debug] Status response (12 Bytes):
[uMTPrd - 11:07:09 - Debug] 0C 00 00 00 03 00 01 20 77 00 00 00              ........w...     
[uMTPrd - 11:07:13 - Debug] --------------------------------------------------
[uMTPrd - 11:07:13 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 20
[uMTPrd - 11:07:13 - Debug] MTP Packet size : 20 bytes
[uMTPrd - 11:07:13 - Debug] MTP Operation   : 0x0001 (OPERATION)
[uMTPrd - 11:07:13 - Debug] MTP code        : 0x9804 (MTP_OPERATION_SET_OBJECT_PROP_VALUE)
[uMTPrd - 11:07:13 - Debug] MTP Tx ID       : 0x00000078
[uMTPrd - 11:07:13 - Debug] Header : 
[uMTPrd - 11:07:13 - Debug] 14 00 00 00 01 00 04 98 78 00 00 00              ........x...     
[uMTPrd - 11:07:13 - Debug] Payload : 
[uMTPrd - 11:07:13 - Debug] 12 00 00 00 07 DC 00 00                          ........         
[uMTPrd - 11:07:13 - Debug] No Status response sent
[uMTPrd - 11:07:13 - Debug] --------------------------------------------------
[uMTPrd - 11:07:13 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 23
[uMTPrd - 11:07:13 - Debug] MTP Packet size : 23 bytes
[uMTPrd - 11:07:13 - Debug] MTP Operation   : 0x0002 (DATA)
[uMTPrd - 11:07:13 - Debug] MTP code        : 0x9804 (MTP_OPERATION_SET_OBJECT_PROP_VALUE)
[uMTPrd - 11:07:13 - Debug] MTP Tx ID       : 0x00000078
[uMTPrd - 11:07:13 - Debug] Header : 
[uMTPrd - 11:07:13 - Debug] 17 00 00 00 02 00 04 98 78 00 00 00              ........x...     
[uMTPrd - 11:07:13 - Debug] Payload : 
[uMTPrd - 11:07:13 - Debug] 05 74 00 65 00 73 00 74 00 00 00                 .t.e.s.t...      
[uMTPrd - 11:07:13 - Debug] setObjectPropValue : (Handle : 0x00000012 - Prop code : 0xDC07 )
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_flags : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_flags : FFFF0002 -> 0x00000000
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] build_full_path : Nowy folder -> /mnt/Nowy folder
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] build_full_path : 琅攀猀琀 -> /mnt/琅攀猀琀
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_index_by_id : 0xFFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_index_by_id : FFFF0002 -> 1
[uMTPrd - 11:07:13 - Debug] Entry 0 - /
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] build_full_path : / -> /mnt//
[uMTPrd - 11:07:13 - Debug] inotify_thread (IN_DELETE): Watch point descriptor not found in the db ! (Descriptor 0x00000001)
[uMTPrd - 11:07:13 - Debug] Entry 0 - /
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] build_full_path : / -> /mnt//
[uMTPrd - 11:07:13 - Debug] inotify_thread (IN_CREATE): Entry 琅攀猀琀 already in the db ! (Handle 0x00000012)
[uMTPrd - 11:07:13 - Debug] inotify_thread (IN_CREATE): Watch point descriptor not found in the db ! (Descriptor 0x00000001)
[uMTPrd - 11:07:13 - Debug] Status response (12 Bytes):
[uMTPrd - 11:07:13 - Debug] 0C 00 00 00 03 00 01 20 78 00 00 00              ........x...     
[uMTPrd - 11:07:13 - Debug] --------------------------------------------------
[uMTPrd - 11:07:13 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 32
[uMTPrd - 11:07:13 - Debug] MTP Packet size : 32 bytes
[uMTPrd - 11:07:13 - Debug] MTP Operation   : 0x0001 (OPERATION)
[uMTPrd - 11:07:13 - Debug] MTP code        : 0x9805 (MTP_OPERATION_GET_OBJECT_PROP_LIST )
[uMTPrd - 11:07:13 - Debug] MTP Tx ID       : 0x00000079
[uMTPrd - 11:07:13 - Debug] Header : 
[uMTPrd - 11:07:13 - Debug] 20 00 00 00 01 00 05 98 79 00 00 00              ........y...     
[uMTPrd - 11:07:13 - Debug] Payload : 
[uMTPrd - 11:07:13 - Debug] 12 00 00 00 00 00 00 00 02 DC 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:13 - Debug] 00 00 00 00                                      ....             
[uMTPrd - 11:07:13 - Debug] MTP_OPERATION_GET_OBJECT_PROP_LIST :(Handle: 0x00000012 FormatCode: 0x00000000 ObjPropCode: 0x0000DC02 ObjPropGroupCode: 0x00000000 Depth: 0)
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] build_full_path : 琅攀猀琀 -> /mnt/琅攀猀琀
[uMTPrd - 11:07:13 - Debug] MTP_OPERATION_GET_OBJECT_PROP_LIST response (26 Bytes):
[uMTPrd - 11:07:13 - Debug] 1A 00 00 00 02 00 05 98 79 00 00 00 01 00 00 00  ........y....... 
[uMTPrd - 11:07:13 - Debug] 12 00 00 00 02 DC 04 00 01 30                    .........0       
[uMTPrd - 11:07:13 - Debug] Status response (12 Bytes):
[uMTPrd - 11:07:13 - Debug] 0C 00 00 00 03 00 01 20 79 00 00 00              ........y...     
[uMTPrd - 11:07:13 - Debug] --------------------------------------------------
[uMTPrd - 11:07:13 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 32
[uMTPrd - 11:07:13 - Debug] MTP Packet size : 32 bytes
[uMTPrd - 11:07:13 - Debug] MTP Operation   : 0x0001 (OPERATION)
[uMTPrd - 11:07:13 - Debug] MTP code        : 0x9805 (MTP_OPERATION_GET_OBJECT_PROP_LIST )
[uMTPrd - 11:07:13 - Debug] MTP Tx ID       : 0x0000007A
[uMTPrd - 11:07:13 - Debug] Header : 
[uMTPrd - 11:07:13 - Debug] 20 00 00 00 01 00 05 98 7A 00 00 00              ........z...     
[uMTPrd - 11:07:13 - Debug] Payload : 
[uMTPrd - 11:07:13 - Debug] 12 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00  ................ 
[uMTPrd - 11:07:13 - Debug] 00 00 00 00                                      ....             
[uMTPrd - 11:07:13 - Debug] MTP_OPERATION_GET_OBJECT_PROP_LIST :(Handle: 0x00000012 FormatCode: 0x00000000 ObjPropCode: 0xFFFFFFFF ObjPropGroupCode: 0x00000000 Depth: 0)
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] build_full_path : 琅攀猀琀 -> /mnt/琅攀猀琀
[uMTPrd - 11:07:13 - Debug] MTP_OPERATION_GET_OBJECT_PROP_LIST response (229 Bytes):
[uMTPrd - 11:07:13 - Debug] E5 00 00 00 02 00 05 98 7A 00 00 00 0B 00 00 00  ........z....... 
[uMTPrd - 11:07:13 - Debug] 12 00 00 00 01 DC 06 00 02 00 FF FF 12 00 00 00  ................ 
[uMTPrd - 11:07:13 - Debug] 02 DC 04 00 01 30 12 00 00 00 0B DC 06 00 00 00  .....0.......... 
[uMTPrd - 11:07:13 - Debug] 00 00 12 00 00 00 04 DC 08 00 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:13 - Debug] 00 00 12 00 00 00 03 DC 04 00 00 00 12 00 00 00  ................ 
[uMTPrd - 11:07:13 - Debug] 07 DC FF FF 05 05 74 00 65 00 73 00 74 00 00 12  ......t.e.s.t... 
[uMTPrd - 11:07:13 - Debug] 00 00 00 44 DC FF FF 05 05 74 00 65 00 73 00 74  ...D.....t.e.s.t 
[uMTPrd - 11:07:13 - Debug] 00 00 12 00 00 00 E0 DC FF FF 00 12 00 00 00 08  ................ 
[uMTPrd - 11:07:13 - Debug] DC FF FF 10 32 00 30 00 32 00 33 00 31 00 32 00  ....2.0.2.3.1.2. 
[uMTPrd - 11:07:13 - Debug] 32 00 39 00 54 00 31 00 31 00 30 00 37 00 30 00  2.9.T.1.1.0.7.0. 
[uMTPrd - 11:07:13 - Debug] 38 00 00 00 12 00 00 00 09 DC FF FF 10 32 00 30  8............2.0 
[uMTPrd - 11:07:13 - Debug] 00 32 00 33 00 31 00 32 00 32 00 39 00 54 00 31  .2.3.1.2.2.9.T.1 
[uMTPrd - 11:07:13 - Debug] 00 31 00 30 00 37 00 30 00 38 00 00 00 12 00 00  .1.0.7.0.8...... 
[uMTPrd - 11:07:13 - Debug] 00 41 DC 0A 00 12 00 00 00 13 00 00 00 14 00 00  .A.............. 
[uMTPrd - 11:07:13 - Debug] 00 15 00 00 00                                   .....            
[uMTPrd - 11:07:13 - Debug] Status response (12 Bytes):
[uMTPrd - 11:07:13 - Debug] 0C 00 00 00 03 00 01 20 7A 00 00 00              ........z...     
[uMTPrd - 11:07:13 - Debug] --------------------------------------------------
[uMTPrd - 11:07:13 - Debug] Incoming_packet : 0x48c5e8 - rawsize : 16
[uMTPrd - 11:07:13 - Debug] MTP Packet size : 16 bytes
[uMTPrd - 11:07:13 - Debug] MTP Operation   : 0x0001 (OPERATION)
[uMTPrd - 11:07:13 - Debug] MTP code        : 0x1008 (MTP_OPERATION_GET_OBJECT_INFO)
[uMTPrd - 11:07:13 - Debug] MTP Tx ID       : 0x0000007B
[uMTPrd - 11:07:13 - Debug] Header : 
[uMTPrd - 11:07:13 - Debug] 10 00 00 00 01 00 08 10 7B 00 00 00              ........{...     
[uMTPrd - 11:07:13 - Debug] Payload : 
[uMTPrd - 11:07:13 - Debug] 12 00 00 00                                      ....             
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:13 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
[uMTPrd - 11:07:13 - Debug] build_full_path : 琅攀猀琀 -> /mnt/琅攀猀琀
[uMTPrd - 11:07:13 - Debug] MTP_OPERATION_GET_OBJECT_INFO response (142 Bytes):
[uMTPrd - 11:07:13 - Debug] 8E 00 00 00 02 00 08 10 7B 00 00 00 02 00 FF FF  ........{....... 
[uMTPrd - 11:07:13 - Debug] 01 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00  .0.............. 
[uMTPrd - 11:07:13 - Debug] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:13 - Debug] 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00  ................ 
[uMTPrd - 11:07:13 - Debug] 05 05 74 00 65 00 73 00 74 00 00 10 32 00 30 00  ..t.e.s.t...2.0. 
[uMTPrd - 11:07:13 - Debug] 32 00 33 00 31 00 32 00 32 00 39 00 54 00 31 00  2.3.1.2.2.9.T.1. 
[uMTPrd - 11:07:13 - Debug] 31 00 30 00 37 00 30 00 38 00 00 00 10 32 00 30  1.0.7.0.8....2.0 
[uMTPrd - 11:07:13 - Debug] 00 32 00 33 00 31 00 32 00 32 00 39 00 54 00 31  .2.3.1.2.2.9.T.1 
[uMTPrd - 11:07:13 - Debug] 00 31 00 30 00 37 00 30 00 38 00 00 00 00        .1.0.7.0.8....   
[uMTPrd - 11:07:13 - Debug] Status response (12 Bytes):
[uMTPrd - 11:07:13 - Debug] 0C 00 00 00 03 00 01 20 7B 00 00 00              ........{...     
[uMTPrd - 11:07:18 - Debug] Entry 0 - /
[uMTPrd - 11:07:18 - Debug] mtp_get_storage_root : FFFF0002
[uMTPrd - 11:07:18 - Debug] mtp_get_storage_root : FFFF0002 -> /mnt
jfdelnero commented 6 months ago

Hello, On which CPU / machine is running the uMTP daemon ? Is it a big-endian system ? And which Linux it is ?

tiopex commented 6 months ago

Hello, On which CPU / machine is running the uMTP daemon ? Is it a big-endian system ? And which Linux it is ?

ARM926EJ-S (ARMv5TE) little-endian, kernel 5.15, buildroot 2022.02.9

jfdelnero commented 6 months ago

Ok i see what probably cause the issue : ARMv5 doesn't support unaligned memory accesses... unicode2charstring use short accesses to read the unicode words, and high and low bytes are swapped on this CPU and generate these bad characters. I will change this function to fix this.

jfdelnero commented 6 months ago

@tiopex : I have pushed a possible fix on the master branch. Please try it and let me know if this fix the issue.

tiopex commented 6 months ago

Works! Thank you.