Code Monkey home page Code Monkey logo

Comments (17)

mike-pt avatar mike-pt commented on September 17, 2024

I tried this:
diff --git a/src/main.cpp b/src/main.cpp
index 4115efe..a8841e3 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -95,7 +95,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
viewer.show();

 int ret = app->exec();

-#if !defined(_WIN32) && !defined(BLACKBERRY) && !defined(ANDROID)
+#if !defined(_WIN32) && !defined(BLACKBERRY) && !defined(ANDROID) && defined(BOOTLOADER_ACCESS)
thread.quit();
thread.wait(4000);
#endif


Probably a hugly fix, but just so I move on for now :)

This leads me to a problem:
/usr/bin/ld: -f may not be used without -shared

from sachesi.

xsacha avatar xsacha commented on September 17, 2024

I will exclude BSD from the bootloader code. Thanks for report.
Does BSD have an alternative to libusb I could use?

from sachesi.

mike-pt avatar mike-pt commented on September 17, 2024

I believe so, see --> https://www.freebsd.org/cgi/man.cgi?format=html&query=libusb%283%29

And also (and if I'm not mistaken) the same functionality of linux's libdl is provided in FreeBSD's libc.

udev is ofc linux specific!

from sachesi.

xsacha avatar xsacha commented on September 17, 2024

OK, is the code similar enough to the current udev code? I could just enable a different codepath.

from sachesi.

mike-pt avatar mike-pt commented on September 17, 2024

Not sure, all I know is that in FreeBSD kernel there's devd instead of udev, but I only understand it from a sys admin perceptive honestly can't talk much about the code!

from sachesi.

xsacha avatar xsacha commented on September 17, 2024

Pushed a fix for the compile but will leave this issue open as I hope to have bootloader support for BSD in future.

from sachesi.

mike-pt avatar mike-pt commented on September 17, 2024

Thanks, the fix still includes "-ldl" "-luddev", I removed those in my local version (also changed the PREFIX to /usr/local/) and it builds, install and runs!

All seems to work fine (except backup and install ofc because of no USB connection)

from sachesi.

xsacha avatar xsacha commented on September 17, 2024

Backup and install should still work without libusb. Your Blackberry device just needs an IP address on your system.
On Linux, for example, this requires dhcpcd to be run on the device when it is detected as usbnet. Most distros have it set up to run this automatically. On FreeBSD, you would likely need to assign the IP address manually by running dhcp*(?).

Basically you should have the same functionality that Windows has right now.

from sachesi.

mike-pt avatar mike-pt commented on September 17, 2024

Or wait...
umodem0: <Research In Motion, Ltd. RIM Network Device, class 0/0, rev 2.00/2.40, addr 10> on usbus0
umodem0: data interface 0, has no CM over data, has no break
device_attach: umodem0 attach returned 6

Let me see what I get with this :)

Turn's out it works fine if I change the USB mode to Mac compatibly (auto or windows won't work)

ue0: flags=8843 metric 0 mtu 1500
ether 42:6f:2a:4d:86:c8
inet6 fe80::406f:2aff:fe4d:86c8%ue0 prefixlen 64 scopeid 0x5
inet 169.254.0.2 netmask 0xfffffffc broadcast 169.254.0.3
nd6 options=21

from sachesi.

mike-pt avatar mike-pt commented on September 17, 2024

Now the only issue is that when I go to backup it accepts the password, but when I click "load backup options" I get back to the password prompt with the message "there was an issue connecting".

Is there any flags to compile this with debug to see a more verbose output?

from sachesi.

xsacha avatar xsacha commented on September 17, 2024

Look for the commented out qDebug lines.
I should add a debug mode.

Yes, on Linux, Auto and Windows don't work. You have to manually choose Mac. Makes sense.

from sachesi.

mike-pt avatar mike-pt commented on September 17, 2024

Thank I'll look into that and recompile cause now it just core dumps and doesn't open...

this is what I get from gdb (no debug symbols ofc so probably not helpful)
(gdb) bt
#0 0x000000080385b8ab in QObject::~QObject ()
from /usr/local/lib/qt4/libQtCore.so.4
#1 0x000000080385b85f in QObject::~QObject ()
from /usr/local/lib/qt4/libQtCore.so.4
#2 0x000000000042f3bb in ?? ()
#3 0x0000000000443ee6 in ?? ()
#4 0x0000000000469bfd in std::__1::__basic_string_common::__throw_length_error ()
#5 0x0000000803860c0d in QMetaObject::activate ()
from /usr/local/lib/qt4/libQtCore.so.4
#6 0x0000000803456df0 in QNetworkReply::error ()
from /usr/local/lib/qt4/libQtNetwork.so.4
#7 0x00000008034565b0 in QSslSocket::qt_metacall ()
from /usr/local/lib/qt4/libQtNetwork.so.4
#8 0x000000080385c7ee in QObject::event ()
from /usr/local/lib/qt4/libQtCore.so.4
#9 0x000000080282146d in QApplicationPrivate::notify_helper ()
from /usr/local/lib/qt4/libQtGui.so.4
#10 0x0000000802822bda in QApplication::notify ()
from /usr/local/lib/qt4/libQtGui.so.4
#11 0x00000008038493a6 in QCoreApplication::notifyInternal ()
from /usr/local/lib/qt4/libQtCore.so.4
---Type to continue, or q to quit---
#12 0x0000000803849f85 in QCoreApplicationPrivate::sendPostedEvents ()
from /usr/local/lib/qt4/libQtCore.so.4
#13 0x0000000803876768 in QEventDispatcherGlib::QEventDispatcherGlib ()
from /usr/local/lib/qt4/libQtCore.so.4
#14 0x0000000804cf047e in g_main_context_dispatch ()
from /usr/local/lib/libglib-2.0.so.0
#15 0x0000000804cf0843 in g_main_context_pending ()
from /usr/local/lib/libglib-2.0.so.0
#16 0x0000000804cf08d4 in g_main_context_iteration ()
from /usr/local/lib/libglib-2.0.so.0
#17 0x0000000803875ef1 in QEventDispatcherGlib::processEvents ()
from /usr/local/lib/qt4/libQtCore.so.4
#18 0x00000008028c043d in QX11Info::isCompositingManagerRunning ()
from /usr/local/lib/qt4/libQtGui.so.4
#19 0x00000008038469cf in QEventLoop::exec ()
from /usr/local/lib/qt4/libQtCore.so.4
#20 0x000000080384995d in QCoreApplication::exec ()
from /usr/local/lib/qt4/libQtCore.so.4
#21 0x0000000000410bf9 in ?? ()
#22 0x00000000004104bf in ?? ()
#23 0x00000008006be000 in ?? ()
#24 0x0000000000000000 in ?? ()

from sachesi.

xsacha avatar xsacha commented on September 17, 2024

Thanks. Fixed that error. Apparently checking for nullptr isn't enough on QObject types.
By the way, edited with vim and pushed to git from my Android tablet :p.

from sachesi.

mike-pt avatar mike-pt commented on September 17, 2024

Awesome :D vim for android is quite nice actually :)

I've forked the repo and made this changes for BSD's https://github.com/mike-pt/Sachesi/commit/354dcf2625597a6d6f7997baf97ac2ac87288a86

The PREFIX however must be dealt with other way, this makes sense only for FreeBSD so I'm not doing the pull request for now, but the libs part are fine!

from sachesi.

mike-pt avatar mike-pt commented on September 17, 2024

Its working better now :)

Now I wonder without bootloader access I have no way to say upgrade from an autoloader package do I?

Btw the % status are not maching what the device says (and the debug messages) but I guess you know that!

from sachesi.

xsacha avatar xsacha commented on September 17, 2024

Well the bootloader code was never finished anyway so it doesn't matter.
Need to do more reverse-engineering.

Currently only way to run an Autoloader is on Windows.

from sachesi.

xsacha avatar xsacha commented on September 17, 2024

As bootloader code was never completed, this issue is no longer valid.

from sachesi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.