nairol / LighthouseRedox

Lighthouse Reverse-Engineered Documentation
Other
226 stars 36 forks source link

Any progress on the Dongle USB protocol? I've been reverse engineering it too. #2

Closed chipweinberger closed 7 years ago

chipweinberger commented 8 years ago

The (type1 << 8) | type2 values for the dongle report 35 are very complicated.

There are hundreds. Clearly these are not distinct types/stucts, and the type values must be referring to something else (type 2 usually seems to be a photo diode id). I've see these ones so far (below): All I have been able to reverse so far are that the 0x7XXs refer to the OOTX data with type2 referring to the ID of the photo sensor that was hit.

Other than that, I'm mostly still in that dark as to what the types are referring to.

The ones that end in e8 have the most packets data for whatever reason. 0xXXe8 seems special around the board.

`6f2

700 708 710 718 720 728 730 738 740 748 750 758 760 768 770 778 780 788 790 798 7a0 7a8 7b0 7b8

a02 a0a a1a a20 a32 a59 a6a a71 a72 a7a a8a a91 a92 aa2 aba

b00 b01 b02 b08 b09 b0a b18 b19 b1a b20 b22 b28 b2a b30 b31 b38 b39 b3a b40 b41 b48 b50 b52 b59 b68 b69 b6a b79 b7a b81 b82 b88 b8a b91 b92 b98 b99 b9a ba8 ba9 bb1 bb2 bb9 bba

c00 c01 c08 c09 c0a c10 c11 c18 c19 c1a c20 c21 c28 c29 c2a c30 c31 c38 c39 c3a c40 c41 c42 c48 c49 c50 c51 c59 c5a c60 c68 c69 c6a c70 c78 c79 c80 c81 c88 c89 c90 c98 c99 ca8 ca9 cb1 cb2 cb8 cb9

d00 d03 d08 d10 d20 d28 d30 d38 d40 d48 d50 d63 d68 d70 d72 d78 d80 d88 d90 d98 da0 da3 da8 db8 dba

e02 e30 e31 e4c e51 e5a e5c e79 e7a ee1

f00 f01 f02 f09 f0a f11 f18 f1a f1b f29 f2a f2b f30 f31 f32 f38 f39 f3a f40 f41 f42 f48 f50 f51 f52 f59 f5a f68 f71 f78 f79 f7a f88 f92 f98 f9a fb0 fb1 fba fbb fe1 fe8

1000 1001 1002 1008 1009 100a 1010 1011 1018 1019 101a 1020 1021 1022 1026 1028 1029 102a 1030 1031 1038 1039 103a 1040 1041 1042 1048 1049 104a 1050 1051 1052 1058 1059 105a 105e 1068 1069 106a 1070 1071 1072 1078 1079 107a 107b 1082 1088 1089 108a 108b 1090 1092 1098 1099 109a 10a8 10a9 10b0 10b1 10b2 10b5 10b6 10b8 10b9 10ba 10be
1100 1101 1102 1108 1109 110a 1110 1112 1118 1119 1120 1121 1122 1128 1129 112a 1130 1131 1138 1139 113a 1140 1141 1148 1150 1151 1158 1159 115c 115d 1160 1168 1169 116a 1170 1171 1178 1179 117a 1182 1185 1188 1189 1190 1198 1199 11a4 11a8 11a9 11aa 11b0 11b1 11b9 11be 11e1
1200 1208 1210 1218 1220 1228 1238 1248 1258 1260 1270 1278 1290 1298 12a0 12a8 12a9 12b8 12b9
1300 1301 1303 1310 1311 1321 1328 132c 1339 1340 134a 1351 1368 136a 1388 1398 13a9 13b9
1400 1402 1408 1409 140a 1410 1414 1418 1419 141a 141b 1420 1421 1429 1430 1431 1432 1438 1439 143a 143b 1440 1441 1442 1448 1449 144b 1450 1451 1453 1458 1459 145a 1468 1469 146a 1470 1478 1479 147a 1481 1488 1498 14a8 14a9 14b0 14ba 14bc 14e8
1500 1501 1508 1509 150a 1510 1511 1518 1519 151a 151b 1520 1521 1522 1528 1529 152a 1530 1531 1538 1539 153a 153b 1540 1541 1543 1548 1549 1550 1551 1558 1559 1560 1568 1569 156a 1570 1572 1578 1579 157a 1588 158b 1590 1592 1598 1599 159a 15a8 15a9 15b1 15b9 15ba 15e8
1600 1601 1604 1608 1609 160a 160c 1610 1618 1619 161a 1620 1628 1629 162a 1630 1631 1638 1639 163a 163c 1640 1641 1649 1650 1652 1659 165a 1660 1662 1668 1669 166a 166c 1670 1678 1679 167a 1680 1688 1690 1698 1699 16a2 16a8 16b0 16b1 16b8 16ba 16e1
1700 1701 1702 1704 1708 1709 170a 170e 1710 1711 1712 1713 1718 1719 171a 1720 1721 1722 1723 1728 1729 172a 172c 1730 1731 1738 1739 173a 173e 1740 1741 1742 1748 1749 174a 1750 1751 1752 1758 1759 175a 175b 175e 1760 1761 1762 1768 1769 176a 176c 176e 1770 1771 1774 1778 1779 177a 177e 1780 1781 1782 1788 1789 178a 1790 1791 1792 1798 1799 179a 179d 17a0 17a1 17a2 17a4 17a8 17a9 17aa 17ab 17b0 17b1 17b2 17b8 17b9 17ba 17e1 17f1
1800 1801 1802 1803 1806 1808 1809 180a 180e 1810 1811 1812 1818 1819 181a 181c 1820 1821 1822 1823 1828 1829 182c 1830 1831 1832 1838 1839 183a 183c 183e 1840 1841 1843 1848 1849 184b 184e 1850 1851 1852 1858 1859 185a 185b 1860 1861 1862 1868 1869 186a 186c 186e 1870 1871 1872 1878 1879 187a 187c 1880 1881 1882 1888 1889 188e 1890 1891 1892 1893 1898 1899 189a 189c 18a0 18a1 18a8 18a9 18aa 18ab 18b0 18b1 18b4 18b8 18b9 18ba 18be 18e1 18e8
1900 1901 1902 1903 1908 1909 190a 190c 1910 1911 1912 1918 1919 191a 1920 1921 1922 1928 1929 192a 192b 192c 192e 1930 1931 1933 1938 1939 193a 193b 193c 193d 193e 1940 1941 1942 1943 1944 1948 1949 194a 194b 194e 1950 1951 1952 1958 1959 195a 195b 1960 1961 1962 1968 1969 196a 196b 196c 196e 1970 1971 1978 1979 197a 1980 1981 1982 1988 198a 1990 1991 1992 1998 1999 199a 19a0 19a1 19a4 19a8 19a9 19ab 19b0 19b1 19b2 19b8 19b9 19ba 19bb 19bc 19be 19e1 19e8 19f2
1a00 1a01 1a02 1a03 1a08 1a09 1a0a 1a10 1a11 1a12 1a13 1a18 1a19 1a1a 1a1b 1a20 1a21 1a22 1a23 1a28 1a29 1a2a 1a2b 1a30 1a31 1a32 1a38 1a39 1a3a 1a3c 1a40 1a41 1a42 1a43 1a48 1a49 1a4a 1a50 1a51 1a52 1a54 1a58 1a59 1a5a 1a5b 1a60 1a61 1a62 1a68 1a69 1a6a 1a6b 1a6e 1a70 1a71 1a72 1a78 1a79 1a7b 1a80 1a81 1a82 1a88 1a89 1a8a 1a90 1a91 1a92 1a93 1a98 1a99 1a9a 1a9b 1aa0 1aa1 1aa2 1aa4 1aa8 1aa9 1aaa 1aab 1aac 1ab0 1ab1 1ab2 1ab8 1ab9 1aba 1abb 1ae1 1ae8 1afb
1b00 1b01 1b02 1b03 1b08 1b09 1b0a 1b10 1b11 1b12 1b13 1b18 1b19 1b1a 1b20 1b21 1b22 1b23 1b24 1b28 1b29 1b2a 1b2b 1b30 1b31 1b38 1b39 1b3a 1b3b 1b3c 1b40 1b41 1b42 1b43 1b48 1b49 1b4a 1b4b 1b50 1b51 1b52 1b58 1b59 1b5a 1b5b 1b5c 1b60 1b61 1b62 1b68 1b69 1b6a 1b6b 1b70 1b71 1b72 1b78 1b79 1b80 1b81 1b82 1b88 1b89 1b8a 1b90 1b91 1b92 1b98 1b99 1b9a 1b9b 1ba0 1ba1 1ba2 1ba8 1ba9 1baa 1bab 1bb0 1bb1 1bb2 1bb8 1bb9 1bba 1bbb 1be1 1be8
`

cnlohr commented 7 years ago

I've been looking at the OSVR-Vive-Libre stuff and got what I think is a little further than them, but now I'm stuck at an odd place. I have FINALLY been able to get the oddball combinations of the type1 stuff wrangled out, but I am def getting stuck on the light pulses. To make things even more annoying, I can't get the controller to respond to light pulses I send, so it's even more difficult. EDIT My project is over at libsurvive: http://github.com/cnlohr/libsurvive

cnlohr commented 7 years ago

yeah... there's a lot of issues with the docs here on the controller stuff. I'm still going at it.

cnlohr commented 7 years ago

I was just email-responded to by bk. He pointed out the reason I couldn't see the LED pulses was because I was not encoding my pulses at 2 MHz. Now that I am everything is a lot better.

I am going to continue hacking.

cnlohr commented 7 years ago

@nairol - Is there anything or any direction I can go to help keep you interested in this? You are very thorough and a great asset to the community. Just wanna make sure I do everything I can to keep you engaged.

P.S. I think you can close this issue? It's hard to believe this thread was only from 19 days ago.

nairol commented 7 years ago

@cnlohr Sorry for my silence. I've forgotten about this issue. I've written my own version of a ben-decoder so I'm pretty confident I now understand how it works. :) I will update the pages soon. Fortunately the holidays are about to start so I'll have more time in the next weeks.