Sie sind nicht angemeldet.

  • »sinus65« ist der Autor dieses Themas

Beiträge: 5

Registrierungsdatum: 04.01.2017

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: Windows 10

  • Nachricht senden

1

04.01.2017, 19:22

Befehl funktioniert nicht

Hallo,
erst einmal ein frohes neues Jahr. Da ich hier kein Threat zum Vorstellen gefunden habe mache ich es hier.
Also: Thomas, 51 Jahre jung und nur mit Windows gearbeitet, z.Z. Win 10.
Ich habe es schon einige male mit Linux versucht, aber immer gescheitert. Die Versionen haben sich aber in den letzten Jahren wahnsinnig verbessert, in Punkto Benutzeroberfläche Treiber usw. Bitte seit mir nicht böse, wenn ich es so banal schreibe.

Nun zu meinem Problem, es ist ein Acer A500 Tablet welches nicht mehr bootet. Im Android Forum habe ich folgendes gefunden:

Startet Ubuntu und installiert wenn nötig die oben genannten Pakete: Linux-Pakete: GCC, lsusb, libusb-1.0.x, libusb-1.0-dev

Nun braucht ihr einen Code......... Kopiert diesen, packt ihn in eine Textdatei und nennt sie apx.c. Öffnet die Konsole und browst mittels cd in den Ordner, in der sich die apx.c befindet.

Anschließend gebt ihr folgende Kommandos ein:


Code:
sudo su
gcc apx.c -o apx -lusb-1.0


Ihr solltet danach eine Datei mit namen apx in dem Ordner haben. Sollte es Fehlermeldungen geben, liegt es wahrscheinlich daran, dass Linux-Pakete fehlen.



Da ich Ubuntu 16.10 installiert habe, habe ich die libusb in der neusten Vers. 1.0.21.
Wenn ich nun den Befehl: gcc apx.c -o apx -lusb-1.0 eingebe, bekomme ich folgende Meldung: apx.c: In function ‘main’:
apx.c:41:5: error: expected declaration or statement at end of input
return r;
^~~~~~

so wie ich das verstehe, mit einem Übersetzer, dass ein Befehl nach:
gcc apx.c -o apx -lusb-1.0 fehlt.
Nur weiß ich absolut nicht welche das ist.

Wie geschrieben ich bin blutiger Anfänger und verstehe sehr viel Bahnhof von Linux, daher bitte ich euch, wenn ihr antwortet, nicht so zu schreiben als wenn ein alter Linux Hase das liest :D

Gruß
Thomas

chroot

Ubuntu-Forum-Team

  • »chroot« ist männlich

Beiträge: 2 305

Registrierungsdatum: 04.03.2008

Derivat: Kein Ubuntu-Derivat

Architektur: 64-Bit PC

Desktop: KDE4

Andere Betriebssysteme: Fedora 27

  • Nachricht senden

2

04.01.2017, 19:50

Hi,

wäre nett, wenn du den inhalt von "apx.c" auch noch hier einfügst. Aber bitte in code-tags!
"Do or do not. There is no try." (Yoda) || Thread auf gelöst/erledigt setzen

  • »sinus65« ist der Autor dieses Themas

Beiträge: 5

Registrierungsdatum: 04.01.2017

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: Windows 10

  • Nachricht senden

3

04.01.2017, 20:50

Ja klar, so habe ich den Inhalt kopiert und eingefügt und nichts daran geändert.

#include <libusb-1.0/libusb.h>
#include <stdio.h>
#include <stdint.h>

int main(void)
{
unsigned char data[64];
int received_length;
int r = 1;
libusb_context* ctx = NULL;
libusb_device_handle* dev_handle = NULL;

libusb_init(&ctx);
dev_handle = libusb_open_device_with_vid_pid(ctx, 0x0955, 0x7820);
if(dev_handle)
{
r = libusb_bulk_transfer(dev_handle, 0x81, data, sizeof(data), &received_length, 10000);
if (r == 0)
{
if(received_length == 8)
{
printf("uid: %#016lx\n", *(uint64_t*)data);
}
else
{
r = 1;
printf("Error: We got %d bytes of data insetad of the 8 bytes we expected...\n", received_length);
}
}
else
{
printf("Error: USB read failed!\n");
}
libusb_release_interface(dev_handle, 0);
}
else
{
printf("Error: Failed to open device!\n");
}
libusb_exit(ctx);
return r;
}
Reply
The Following 14 Users Say Thank You to eppeP For This Useful Post: [ View ]

--

Editiert von chroot . Terminal-Ausgaben zur besseren Lesbarkeit bitte in Code-Blöcke setzen.

chroot

Ubuntu-Forum-Team

  • »chroot« ist männlich

Beiträge: 2 305

Registrierungsdatum: 04.03.2008

Derivat: Kein Ubuntu-Derivat

Architektur: 64-Bit PC

Desktop: KDE4

Andere Betriebssysteme: Fedora 27

  • Nachricht senden

4

04.01.2017, 21:28

  1. Bitte code-tags setzen! (siehe mein edit)
  2. Bitte bei normaler schriftart/-farbe bleiben


Weiters solltest du die build-essentials installieren. Dazu terminal öffnen und folgendes eingeben:

Quellcode

1
sudo apt-get install build-essential
"Do or do not. There is no try." (Yoda) || Thread auf gelöst/erledigt setzen

  • »sinus65« ist der Autor dieses Themas

Beiträge: 5

Registrierungsdatum: 04.01.2017

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: Windows 10

  • Nachricht senden

5

04.01.2017, 22:02

Leider weiß ich nicht was ein code tac ist.
Mit den Farben Ok werde ich das nächste mal machen
Werde mich morgen dran setzen muss gleich arbeiten
Danke erst einmal, ich melde mich dann morgen noch einmal

Beiträge: 568

Registrierungsdatum: 10.09.2009

Derivat: Ubuntu

Version: Ubuntu 16.04 LTS - Xenial Xerus

Architektur: 64-Bit PC

Desktop: Mate

  • Nachricht senden

6

04.01.2017, 22:35

Leider weiß ich nicht was ein code tac ist.

Bitte Ausgaben zur besseren Les-, Zitier- und Bearbeitbarkeit immer im Quellcode-Block posten.Hier die korrekte Vorgehensweise:
  1. Terminalausgabe (Code) in den Beitragseditor einfügen
  2. Code markieren
  3. Oben die Schaltfläche klicken
Bluegrass
Es geht auch anders, aber so geht's auch.

7

04.01.2017, 23:40

Sobald man es schafft, den Code mittels normalem Editor fehlerfrei und ohne versteckte Steuerzeichen in eine Datei zu schreiben, kompiliert das auch anstandslos. Das dürfte aber nicht nur unter Linux so sein.

Diese Aufgabe als root zu stemmen, ist jedoch absolut unsinnig. Oft wäre ein Verweis nicht schlecht, in welcher Ecke solche Anleitungen verbreitet werden. Das wäre dann auch die Anlaufstelle für solche Rückfragen. Die kennen dann wenigstens schon die Popel, nach denen wir hier erst graben müssen.
mir is wurscht

  • »sinus65« ist der Autor dieses Themas

Beiträge: 5

Registrierungsdatum: 04.01.2017

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: Windows 10

  • Nachricht senden

8

05.01.2017, 10:22

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <libusb-1.0/libusb.h>
#include <stdio.h>
#include <stdint.h>

int main(void)
{
    unsigned char data[64];
    int received_length;
    int r = 1;
    libusb_context* ctx = NULL;
    libusb_device_handle* dev_handle = NULL;

    libusb_init(&ctx);
    dev_handle = libusb_open_device_with_vid_pid(ctx, 0x0955, 0x7820);
    if(dev_handle)
    {
        r = libusb_bulk_transfer(dev_handle, 0x81, data, sizeof(data), &received_length, 10000);
        if (r == 0)
        {
            if(received_length == 8)
            {
                printf("uid: %#016lx\n", *(uint64_t*)data);
            }
            else
            {
                r = 1;
                printf("Error: We got %d bytes of data insetad of the 8 bytes we expected...\n", received_length);
            }
        }
        else
        {
            printf("Error: USB read failed!\n");
        }
        libusb_release_interface(dev_handle, 0);
    }
    else
    {
        printf("Error: Failed to open device!\n");
    }
    libusb_exit(ctx);
    return r;
    }




Also so ist es richtig ??

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »sinus65« (05.01.2017, 17:56)


9

05.01.2017, 17:48

Fast.

Jetzt fehlt nur die abschließende Klammer, die im Beitrag #3 noch dran war. Ohne die kommt aber genau die in #1 genannte Fehlermeldung.
mir is wurscht

  • »sinus65« ist der Autor dieses Themas

Beiträge: 5

Registrierungsdatum: 04.01.2017

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: Windows 10

  • Nachricht senden

10

05.01.2017, 18:07

Dann müsste es also funktionieren.
werde es dann so einmal versuchen.

Danke für die Hilfe.