Решил попробовать режимы кодировки в текстовом режиме.
Итог такой: установив AT+CSCS="UCS2", можно спокойно работать с кириллицей, русские буквы приходят в Unicode. При установке AT+CSCS="HEX", SMS-сообщения c русскими буквами приходят в UCS2, без русских букв - в HEX.
Пример:
Сообщение "testтест" с номера 777:
Код
AT+CSCS="UCS2"<CR>
+CMT: "003700370037",,"09/01/27,15:56:54+08"<CR><LF>
00740065007300740442043504410442<CR><LF>
AT+CSCS="HEX"<CR>
+CMT: "373737",,"09/01/27,16:15:44+08"<CR><LF>
00740065007300740442043504410442<CR><LF>
+CMT: "003700370037",,"09/01/27,15:56:54+08"<CR><LF>
00740065007300740442043504410442<CR><LF>
AT+CSCS="HEX"<CR>
+CMT: "373737",,"09/01/27,16:15:44+08"<CR><LF>
00740065007300740442043504410442<CR><LF>
Сообщение "test" с номера 777:
Код
AT+CSCS="HEX"<CR>
+CMT: "373737",,"09/01/27,16:18:12+08"<CR><LF>
74657374<CR><LF>
+CMT: "373737",,"09/01/27,16:18:12+08"<CR><LF>
74657374<CR><LF>
Единственная проблема, определение UCS2<>HEX при AT+CSCS="HEX". Хотя вряд-ли SMS-сообщение будет содержать коды меньше 0x20,
так что определить, казалось бы, можно.
Вопрос: я что-то пропустил? Зачем усложнять себе жизнь с PDU в таком случае? Может не все телефоны/модули поддерживают HEX или UCS2?