Skip to content

Commit 3b46a9c

Browse files
committed
add serial number to info command
1 parent 8550cb0 commit 3b46a9c

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

src/main.rs

+25-6
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,14 @@ fn info(i: &Interface, e_in_addr: u8, e_out_addr: u8) {
192192
match cmd {
193193
COMMAND_END_OF_TRANSFER => {
194194
let (p, _) = EndOfTransfer::read_from_prefix(b).unwrap();
195-
println!("{p:#02x?}");
195+
panic!("{p:#02x?}");
196196
}
197197
COMMAND_READY => {
198-
//let (p, _) = CommandReady::read_from_prefix(&buf).unwrap();
199-
//println!("{p:#02x?}");
200198
println!("command ready");
201199
}
202-
_ => println!("..."),
200+
_ => panic!("..."),
203201
}
204202

205-
// let r = [COMMAND_EXECUTE_REQUEST, 0xc, EXEC_SERIAL_NUM_READ].as_bytes();
206203
let r = [COMMAND_EXECUTE_REQUEST, 0xc, EXEC_MSM_HW_ID_READ].as_bytes();
207204
usb_send(i, e_out_addr, r.to_vec());
208205

@@ -218,7 +215,6 @@ fn info(i: &Interface, e_in_addr: u8, e_out_addr: u8) {
218215
_ => panic!("..."),
219216
}
220217

221-
// let r = [COMMAND_EXECUTE_DATA, 0xc, EXEC_SERIAL_NUM_READ].as_bytes();
222218
let r = [COMMAND_EXECUTE_DATA, 0xc, EXEC_MSM_HW_ID_READ].as_bytes();
223219
usb_send(i, e_out_addr, r.to_vec());
224220

@@ -227,6 +223,29 @@ fn info(i: &Interface, e_in_addr: u8, e_out_addr: u8) {
227223
id.reverse();
228224
println!("MSM hardware ID: {id:02x?}");
229225

226+
let r = [COMMAND_EXECUTE_REQUEST, 0xc, EXEC_SERIAL_NUM_READ].as_bytes();
227+
usb_send(i, e_out_addr, r.to_vec());
228+
229+
let b = &usb_read(i, e_in_addr)[..32];
230+
println!("Device says: {b:02x?}");
231+
232+
let cmd = u32::from_le_bytes([b[0], b[1], b[2], b[3]]);
233+
234+
match cmd {
235+
COMMAND_EXECUTE_RESPONSE => {
236+
println!("execute response");
237+
}
238+
_ => panic!("..."),
239+
}
240+
241+
let r = [COMMAND_EXECUTE_DATA, 0xc, EXEC_SERIAL_NUM_READ].as_bytes();
242+
usb_send(i, e_out_addr, r.to_vec());
243+
244+
let b = &usb_read(i, e_in_addr)[..8];
245+
let mut id = b.to_vec();
246+
id.reverse();
247+
println!("Serial number: {id:02x?}");
248+
230249
// S/N: [78 9e e2 1b]
231250
//
232251
// MSM HW ID 007F10E1: MDM9225

0 commit comments

Comments
 (0)