<div dir="ltr"><div>Hi!</div><div><br></div><div>Sorry to say, but I still fail to download, the log looks just as it has done for the last weeks.</div><div>I have tried on Android 6, 8 and 9, with both phone and tablet (all Sony Xperia).</div><div>I also tested on a Samsung Galaxy S6 with Android 7, but exactly the same result (and same here, if BT is on, FTDI is not available in the connection drop-down).</div><div>With the Samsung I also created a new account (empty database), but same result.</div><div><br></div><div>Still the same error from libdivecomputer:<br></div><div><br></div><div>    INFO: Open: name=ftdi<br>    ERROR: No such file or directory (2) [in /data/android/subsurface/libdivecomputer/src/serial_posix.c:295 (dc_serial_open)]<br></div><div><br></div><div>Are there anyone who has managed to download using OTG and this latest version of the Android app (2.1.0(4.7.8.389))?</div><div><br></div><div>Probably no issue, but one curiosity thou, see the log below at 85.902 and 85.951 (I tried, and tried again a second time) - the text "FTDI" is in uppercase one time and lower case the second time - how come?</div><div>Apparently it is uppercase the first time, and lowercase all following times ...</div><div><br></div><div>Best regards,</div><div>Thomas</div><div><br></div><div><u>First try:</u></div><div><br></div><div>    "85.902: DCDownloadThread started for Mares Puck Pro on <b>FTDI</b>"</div><div dir="ltr"><div dir="ltr"><div>    <br>    Starting download from ftdi<br>    Starting the thread 0<br></div></div></div><div dir="ltr"><div dir="ltr"><div>    Finishing the thread Kunde inte öppna fil %s %s (%s) dives downloaded 0<br>    "85.918: Unsupported operation"<br>    no new dives downloaded<br>    "85.920: DCDownloadThread finished"<br><br></div><div><u>Second try directly after the first one:</u></div><div><br></div><div>    "88.951: DCDownloadThread started for Mares Puck Pro on <b>ftdi</b>"</div></div></div><div dir="ltr"><div dir="ltr"><div>    <br>    Starting download from ftdi<br>    Starting the thread 0<br></div></div></div><div dir="ltr"><div dir="ltr"><div>    Finishing the thread Kunde inte öppna fil %s %s (%s) dives downloaded 0<br>    "88.962: Unsupported operation"<br>    no new dives downloaded<br>    "88.964: DCDownloadThread finished"<br></div></div></div><div dir="ltr"><div dir="ltr"><div><br></div><div><br></div><div><br></div><div><br></div><div></div><div>---------- subsurface.log ----------<br>Empty filename passed to function<br></div></div></div><div dir="ltr"><div dir="ltr"><div>"0.004: Successfully opened logfile /storage/emulated/0/subsurface.log at tors juni 21 07:37:56 2018"<br>"0.005: Starting Subsurface-mobile:2.1.0(4.7.8.389):Android Marshmallow (6.0):arm:sv-SE"</div></div></div><div dir="ltr"><div dir="ltr"><div><br>"0.006: built with libdivecomputer v0.7.0-devel-Subsurface-NG (e97a47cca55973199715df0f818b4955e60d3a31)"<br>"0.006: built with Qt Version 5.10.1, runtime from Qt Version 5.10.1"<br>"0.006: built with libgit2 0.26.0"<br></div></div></div><div dir="ltr"><div dir="ltr"><div>"localDevice Xperia Z3 Tablet Compact is valid, starting discovery"<br>paired BT classic device type 1 with address "04:5D:4B:83:18:F3"<br>paired BT classic device type 1 with address "8C:DE:52:10:12:35"<br>Found new device: "WH-1000XM2" "04:5D:4B:83:18:F3"<br>Not recognized as dive computer<br>Found new device: "SRS-BTV5" "8C:DE:52:10:12:35"<br>Not recognized as dive computer<br>Paired = "WH-1000XM2" "04:5D:4B:83:18:F3"<br>Paired = "SRS-BTV5" "8C:DE:52:10:12:35"<br>"Created position source android"<br>"0.035: Created position source android"</div></div></div><div dir="ltr"><div dir="ltr"><div><br>"Set GPS service update interval to 300 s"<br></div></div></div><div dir="ltr"><div dir="ltr"><div>"0.035: Set GPS service update interval to 300 s"<br>"0.036: location service is available"<br>"1.210: Synkroniserar datafil"<br>"1.223: Dyk ladade från lokal buffert"<br>"1.303: Lyckades med att öppna dykdata"<br>"1.379: AppState changed to active with save ongoing and no unsaved changes"<br>"1.381: 109 dives loaded from cache"<br>"1.384: have cloud credentials, trying to connect"<br>"1.384: Have credentials, let's see if they are valid"<br>Completed connection with cloud storage backend, response "[OK]"</div></div></div><div dir="ltr"><div dir="ltr"><div><br>"Set GPS service update interval to 300 s"<br>"3.045: Set GPS service update interval to 300 s"<br>Using the following font: Roboto<br></div></div></div><div dir="ltr"><div dir="ltr"><div>qqwindow devicePixelRatio 2 2</div></div></div><div dir="ltr"><div dir="ltr"><div><br>Supported dive computers:<br>"Aeris: 500 AI (SERIAL), A300 (SERIAL), A300 AI (SERIAL), A300CS (SERIAL), Atmos 2 (SERIAL), Atmos AI (SERIAL), Atmos AI 2 (SERIAL), Compumask (SERIAL), Elite (SERIAL), Elite T3 (SERIAL), Epic (SERIAL), F10 (SERIAL), F11 (SERIAL), Manta (SERIAL), XR-1 NX (SERIAL), XR-2 (SERIAL)"<br>"Aqualung: i200 (SERIAL), i300 (SERIAL), i450T (SERIAL), i550 (SERIAL), i750TC (SERIAL)"<br>"Atomic Aquatics: Cobalt (USB), Cobalt 2 (USB)"<br>"Beuchat: Mundial 2 (SERIAL), Mundial 3 (SERIAL), Voyager 2G (SERIAL)"<br>"Cochran: Commander I (SERIAL), Commander II (SERIAL), Commander TM (SERIAL), EMC-14 (SERIAL), EMC-16 (SERIAL), EMC-20H (SERIAL)"<br>"Genesis: React Pro (SERIAL), React Pro White (SERIAL)"<br>"Heinrichs Weikamp: Frog (SERIAL, BT), OSTC (SERIAL), OSTC 2 (SERIAL, BT, BLE), OSTC 2 TR (SERIAL, BT, BLE), OSTC 2C (SERIAL), OSTC 2N (SERIAL), OSTC 3 (SERIAL), OSTC 4 (SERIAL, BT, BLE), OSTC Mk2 (SERIAL), OSTC Plus (SERIAL, BT, BLE), OSTC Sport (SERIAL, BT, BLE), OSTC cR (SERIAL)"<br>"Hollis: DG02 (SERIAL), DG03 (SERIAL), TX1 (SERIAL)"<br>"Mares: Puck Pro (SERIAL), Quad (SERIAL), Smart (SERIAL)"<br>"Oceanic: Atom 1.0 (SERIAL), Atom 2.0 (SERIAL), Atom 3.0 (SERIAL), Atom 3.1 (SERIAL), Datamask (SERIAL), F10 (SERIAL), F11 (SERIAL), Geo (SERIAL), Geo 2.0 (SERIAL), OC1 (SERIAL), OCS (SERIAL), OCi (SERIAL), Pro Plus 2 (SERIAL), Pro Plus 2.1 (SERIAL), Pro Plus 3 (SERIAL), VT 4.1 (SERIAL), VT Pro (SERIAL), VT3 (SERIAL), VT4 (SERIAL), VTX (SERIAL), Veo 1.0 (SERIAL), Veo 180 (SERIAL), Veo 2.0 (SERIAL), Veo 200 (SERIAL), Veo 250 (SERIAL), Veo 3.0 (SERIAL), Versa Pro (SERIAL)"<br>"Scubapro: Aladin Sport Matrix (BLE), Aladin Square (USBHID), G2 (USBHID, BLE), G2 Console (USBHID, BLE)"<br>"Seemann: XP5 (SERIAL)"<br>"Shearwater: Nerd (SERIAL, BT), Nerd 2 (BLE), Perdix (SERIAL, BT, BLE), Perdix AI (BLE), Petrel (SERIAL, BT), Petrel 2 (SERIAL, BT, BLE), Predator (SERIAL, BT)"<br>"Sherwood: Amphos (SERIAL), Amphos Air (SERIAL), Insight (SERIAL), Insight 2 (SERIAL), Vision (SERIAL), Wisdom (SERIAL), Wisdom 2 (SERIAL), Wisdom 3 (SERIAL)"<br>"Subgear: XP-Air (SERIAL)"<br>"Suunto: Cobra (SERIAL), Cobra 2 (SERIAL), Cobra 3 (SERIAL), D3 (SERIAL), D4 (SERIAL), D4f (SERIAL), D4i (SERIAL), D6 (SERIAL), D6i (SERIAL), D9 (SERIAL), D9tx (SERIAL), DX (SERIAL), EON Core (USBHID, BLE), EON Steel (USBHID, BLE), Eon (SERIAL), Gekko (SERIAL), HelO2 (SERIAL), Mosquito (SERIAL), Solution (SERIAL), Solution Alpha (SERIAL), Solution Nitrox (SERIAL), Spyder (SERIAL), Stinger (SERIAL), Vyper (SERIAL), Vyper 2 (SERIAL), Vyper Air (SERIAL), Vyper Novo (SERIAL), Vytec (SERIAL), Zoop (SERIAL), Zoop Novo (SERIAL)"<br>"Tusa: Element II (IQ-750) (SERIAL), Zen (IQ-900) (SERIAL), Zen Air (IQ-950) (SERIAL)"<br>"Uwatec: Aladin Air Twin (SERIAL), Aladin Air Z (SERIAL), Aladin Air Z Nitrox (SERIAL), Aladin Air Z O2 (SERIAL), Aladin Pro (SERIAL), Aladin Pro Ultra (SERIAL), Aladin Sport Plus (SERIAL), Memomouse (SERIAL)"<br></div></div></div><div dir="ltr"><div dir="ltr"><div>qqwindow screen has ldpi/pdpi 72 141.613<br>"6.286: Synkroniserar datafil"<br>"6.302: Synka med molnlagring"<br>"7.154: Successful cloud connection, fetch remote"<br>"8.205: Klar med synkronisering till molnlagring"<br>"8.216: Cloud sync shows local cache was current"<br>The item About_QMLTYPE_111(0x9d51f040) is already in the PageRow<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>"85.902: DCDownloadThread started for Mares Puck Pro on FTDI"</div></div></div><div dir="ltr"><div dir="ltr"><div><br>Starting download from  ftdi<br>Starting the thread 0<br></div></div></div><div dir="ltr"><div dir="ltr"><div>Finishing the thread Kunde inte öppna fil %s %s (%s) dives downloaded 0<br>"85.918: Unsupported operation"<br>no new dives downloaded<br>"85.920: DCDownloadThread finished"<br>"88.951: DCDownloadThread started for Mares Puck Pro on ftdi"</div></div></div><div dir="ltr"><div dir="ltr"><div><br>Starting download from  ftdi<br>Starting the thread 0<br></div></div></div><div dir="ltr"><div dir="ltr"><div>Finishing the thread Kunde inte öppna fil %s %s (%s) dives downloaded 0<br>"88.962: Unsupported operation"<br>no new dives downloaded<br>"88.964: DCDownloadThread finished"<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>The item About_QMLTYPE_111(0x9d51f040) is already in the PageRow<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br>QObject::startTimer: Timers cannot be started from another thread<br><br><br><br>---------- libdivecomputer.log ----------<br>Subsurface: v4.7.8-213-g6a91611e90cc, built with libdivecomputer v0.7.0-devel-Subsurface-NG (e97a47cca55973199715df0f818b4955e60d3a31)</div></div></div><div dir="ltr"><div dir="ltr"><div><br>INFO: Open: name=ftdi<br>ERROR: No such file or directory (2) [in /data/android/subsurface/libdivecomputer/src/serial_posix.c:295 (dc_serial_open)]<br></div></div></div><div dir="ltr"><div dir="ltr"><div>---------- finish ----------<br><br></div></div></div><div dir="ltr"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">Den ons 20 juni 2018 23:54Linus Torvalds <<a href="mailto:torvalds@linux-foundation.org" target="_blank">torvalds@linux-foundation.org</a>> skrev:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Jun 21, 2018 at 6:52 AM Linus Torvalds<br>
<<a href="mailto:torvalds@linux-foundation.org" target="_blank">torvalds@linux-foundation.org</a>> wrote:<br>
><br>
> On Thu, Jun 21, 2018 at 4:16 AM Dirk Hohndel <<a href="mailto:dirk@hohndel.org" target="_blank">dirk@hohndel.org</a>> wrote:<br>
> ><br>
> > Linus, could that be the actual culprit?<br>
><br>
> Very possibly.<br>
<br>
Oh, I should have read the whole thread. Apparently the real cause has<br>
been found, and was not the libdivecomputer custom IO changes.<br>
<br>
Never mind. That should teach me.<br>
<br>
              Linus<br>
</blockquote></div>
</div></div></div>