226

(3 odpowiedzi, napisanych Inne)

Ja przewaliłem masę projektów z lan8720 ale nie na avr'ach a na somach z armami / (armv7, armv8). Tani, dostępność też w porządku.

Dodawałem zewnętrzne antenty do swojego n750 i nie było zbytniej różnicy więc jak dla mnie gra nie była warta świeczki.

228

(519 odpowiedzi, napisanych Oprogramowanie / Software)

W nexxie wystarczy, że programatorem wrzuci się soft 16MB i przelutuje kość i odpala od strzała?

229

(25 odpowiedzi, napisanych Inne)

Rjtki dobrze masz zarobione?

230

(5 odpowiedzi, napisanych Sprzęt / Hardware)

Lepiej dołóż niż kupować jakiegoś bubla, który będzie nagrzewać grot 8h.

231

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

To ja jeszcze dorzucę bananapi - jestem ciekawy jak tam z wydajnością sata.

Mam mocniejsza wersję, bananepro. Mogę sprawdzić jak ktoś potrzebuje, tylko że aktualnie czekam na przetwornice z Chin, bo chinczyki wsadziły jakieś dziadostwo, które nie ma żadnych zabezpieczeń i mi dosłownie poszła z dymem.

232

(66 odpowiedzi, napisanych Oprogramowanie / Software)

Przy odlutowywaniu zwory wyładowałeś magiczny ładunek ESD na elektronikę routera powodując wzrost prędkości internetu, niczym magiczną różdżką.

233

(66 odpowiedzi, napisanych Oprogramowanie / Software)

Możesz śmiało dać w smd, pytanie tylko czy w takim rozmiarze znajdziesz o takim prądzie. Przy tht zawsze można nóżki przylutować, zaizolować i go zgiąć.

234

(66 odpowiedzi, napisanych Oprogramowanie / Software)

Wylutuj układ a pomiędzy pady 1-5 wlutuj jakiegoś polimera ptc do 1A, żeby w razie zwary odciął zasilanie i już.

235

(9 odpowiedzi, napisanych Inne)

Udało się powstawić modem na nogi. Wrzuciłem modowane firmware i po wybraniu na sztywno częstotliwości problem zniknął.

236

(9 odpowiedzi, napisanych Inne)

Próbowałem zmienić firmware w modemie niestety wyskoczył kod błędu 13 i modem jest prawdopodobnie ciągle w trybie download z migająco na zielono diodą. Czy ktoś wie jak wyjść z tego trybu? Na forum bezkabli był link do skryptu, który by pomógł niestety link wygaszony.

237

(9 odpowiedzi, napisanych Inne)

Cześć,
tak, e3372 jest na kominie podłączony do wt3020 w obudowie IP65, a z niego idzie skrętka do domu, gdzie podłączony jest do wd n750. Niestety mój dom to istny bunkier i ledwo przebija się sygnał gsm'u do niego więc taka zabawa była niestety wymagana. Co do firmware, mam coś takiego z logiem LMT:

Device name:    E3372
IMEI:    86xxxxxxxxxxxxxx
IMSI :    260xxxxxxxxxxxxx
My number:    Unknown
Hardware version:    CL2E3372HM
Software version:    22.317.01.00.17
Web UI version:    17.100.14.00.17
LAN MAC address:    BA:ABxxxxxxxx
WAN IP Address:    10.110.xxxxxxxx

238

(9 odpowiedzi, napisanych Inne)

Który objawia się wyłącznie na kartach Orange? Myślisz, że zmiana firmware coś by zmieniła?

239

(9 odpowiedzi, napisanych Inne)

Nie wydaje mi się aby to było od sygnału, bo gdy wsadzę drugą kartę Orange do ZTE MF283+ znajdującego się w domu to mam stabilne LTE 2/5 kresek.

240

(9 odpowiedzi, napisanych Inne)

Cześć,
piszę aby rozwiązać problem, który prześladuje mój e3372 z kartą Orange. Objawia się on tym iż po wybraniu na sztywno tylko LTE modem nie może się połączyć, ciągle wyświetla "No Service". Raz na kilka prób w końcu złapie LTE i zasięg trzyma sztywno 4/5 kresek ale po jakimś czasie modem gubi sygnał i jest brak połączenia. Gdy wybiorę na sztywno 3G to połączenie następuje natychmiastowo. Modem jest wpięty do WT3020 + zasilacz 2A a to wszystko znajduje się na kominie w obudowie IP65 i skrętką leci do domu. Borykał się ktoś z kolegów z takim problemem? Wcześniej używałem starterów od RBM oraz Fakt Mobile i tam ten problem nie występował.

241

(64 odpowiedzi, napisanych Oprogramowanie / Software)

Dzięki bardzo. Teraz wszystko prawidłowo się skompilowało, jedyny niuans to to iż po nałożeniu patcha kompilacja wysypywała się z powodu braku ArcherC50.dts i ZBT-CPE102.dts. Dzięki za pomoc smile

242

(64 odpowiedzi, napisanych Oprogramowanie / Software)

Najnowsze CC na WT3020.

W pliku mkporayfw.c  dodałem wzmianki o dodatkowej kości lecz nie orientuje się czy aby na pewno poprawnie.

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <unistd.h>
#include <libgen.h>
#include <getopt.h>
#include <stdarg.h>
#include <errno.h>
#include <sys/stat.h>
#include <arpa/inet.h>
#include <netinet/in.h>

#if (__BYTE_ORDER == __BIG_ENDIAN)
#  define HOST_TO_BE32(x)       (x)
#  define BE32_TO_HOST(x)       (x)
#  define HOST_TO_LE32(x)       bswap_32(x)
#  define LE32_TO_HOST(x)       bswap_32(x)
#else
#  define HOST_TO_BE32(x)       bswap_32(x)
#  define BE32_TO_HOST(x)       bswap_32(x)
#  define HOST_TO_LE32(x)       (x)
#  define LE32_TO_HOST(x)       (x)
#endif

/* Fixed header flags */
#define HEADER_FLAGS            0x020e0000

/* Recognized Hardware ID magic */
#define HWID_HAME_MPR_A1_L8     0x32473352
#define HWID_PORAY_R50B         0x31353033
#define HWID_PORAY_R50D         0x33353033
#define HWID_PORAY_R50E         0x34353033
#define HWID_PORAY_M3           0x31353335
#define HWID_PORAY_M4           0x32353335
#define HWID_PORAY_Q3           0x33353335
#define HWID_PORAY_X5_X6        0x35353335
#define HWID_PORAY_X8           0x36353335
#define HWID_PORAY_X1           0x38353335
#define HWID_NEXX_WT1520        0x30353332
#define HWID_NEXX_WT3020        0x30323033
#define HWID_A5_V11             0x32473352

/* Recognized XOR obfuscation keys */
#define KEY_HAME                0
#define KEY_PORAY_1             1
#define KEY_PORAY_2             2
#define KEY_PORAY_3             3
#define KEY_PORAY_4             4
#define KEY_NEXX_1              5
#define KEY_NEXX_2              6
#define KEY_A5_V11              7

/* XOR key length */
#define KEY_LEN                 15

struct file_info {
        char            *file_name;     /* Name of the file */
        uint32_t        file_size;      /* Length of the file */
};

struct fw_header {
        uint32_t        hw_id;          /* Hardware id */
        uint32_t        firmware_len;   /* Firmware data length */
        uint32_t        flags;          /* Header flags */
        uint8_t         pad[16];
} __attribute__ ((packed));

struct flash_layout {
        char            *id;
        uint32_t        fw_max_len;
};

struct board_info {
        char            *id;
        uint32_t        hw_id;
        char            *layout_id;
        uint32_t        key;
};

/*
 * Globals
 */
static char *ofname;
static char *progname;

static char *board_id;
static struct board_info *board;
static char *layout_id;
static struct flash_layout *layout;
static char *opt_hw_id;
static uint32_t hw_id;
static struct file_info firmware_info;
static uint32_t firmware_len = 0;

static int inspect = 0;
static int extract = 0;

static uint8_t key[][KEY_LEN] = {
  {0xC8, 0x3C, 0x3A, 0x93, 0xA2, 0x95, 0xC3, 0x63, 0x48, 0x45, 0x58, 0x09, 0x12, 0x03, 0x08},
  {0x89, 0x6B, 0x5A, 0x93, 0x92, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0xE6, 0xC7},
  {0xC9, 0x1C, 0x3A, 0x93, 0x92, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0xE6, 0xC7},
  {0x19, 0x1B, 0x3A, 0x93, 0x92, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0xE6, 0xC7},
  {0x79, 0x7B, 0x7A, 0x93, 0x92, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0xE6, 0xC7},
  {0x19, 0x1C, 0x4A, 0x93, 0x96, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0x16, 0xC6},
  {0x39, 0x1C, 0x4A, 0x93, 0x96, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0x16, 0xC6},
  {0xC8, 0x3C, 0x3A, 0x93, 0xA2, 0x95, 0xC3, 0x63, 0x48, 0x45, 0x58, 0x09, 0x20, 0x11, 0x08},
};

static struct flash_layout layouts[] = {
        {
                .id             = "4M",
                .fw_max_len     = 0x3c0000,
        }, {
                .id             = "8M",
                .fw_max_len     = 0x7c0000,
        }, {
                .id             = "16M",
                .fw_max_len     = 0xf80000,
        }
};

static struct board_info boards[] = {
        {
                .id             = "A5-V11",
                .hw_id          = HWID_A5_V11,
                .layout_id      = "4M",
                .key            = KEY_A5_V11,
        }, {
                .id             = "MPR-A1",
                .hw_id          = HWID_HAME_MPR_A1_L8,
                .layout_id      = "4M",
                .key            = KEY_HAME,
        }, {
                .id             = "MPR-L8",
                .hw_id          = HWID_HAME_MPR_A1_L8,
                .layout_id      = "4M",
                .key            = KEY_HAME,
        }, {
                .id             = "R50B",
                .hw_id          = HWID_PORAY_R50B,
                .layout_id      = "4M",
                .key            = KEY_PORAY_2,
        }, {
                .id             = "R50D",
                .hw_id          = HWID_PORAY_R50D,
                .layout_id      = "4M",
                .key            = KEY_PORAY_3,
        }, {
                .id             = "R50E",
                .hw_id          = HWID_PORAY_R50E,
                .layout_id      = "4M",
                .key            = KEY_PORAY_4,
        }, {
                .id             = "M3",
                .hw_id          = HWID_PORAY_M3,
                .layout_id      = "4M",
                .key            = KEY_PORAY_1,
        }, {
                .id             = "M4",
                .hw_id          = HWID_PORAY_M4,
                .layout_id      = "4M",
                .key            = KEY_PORAY_1,
        }, {
                .id             = "Q3",
                .hw_id          = HWID_PORAY_Q3,
                .layout_id      = "4M",
                .key            = KEY_PORAY_1,
        }, {
                .id             = "X5 or X6",
                .hw_id          = HWID_PORAY_X5_X6,
                .layout_id      = "8M",
                .key            = KEY_PORAY_1,
        }, {
                .id             = "X5",
                .hw_id          = HWID_PORAY_X5_X6,
                .layout_id      = "8M",
                .key            = KEY_PORAY_1,
        }, {
                .id             = "X6",
                .hw_id          = HWID_PORAY_X5_X6,
                .layout_id      = "8M",
                .key            = KEY_PORAY_1,
        }, {
                .id             = "X8",
                .hw_id          = HWID_PORAY_X8,
                .layout_id      = "8M",
                .key            = KEY_PORAY_1,
        }, {
                .id             = "X1",
                .hw_id          = HWID_PORAY_X1,
                .layout_id      = "8M",
                .key            = KEY_PORAY_1,
        }, {
                .id             = "WT1520",
                .hw_id          = HWID_NEXX_WT1520,
                .layout_id      = "4M",
                .key            = KEY_NEXX_1,
        }, {
                .id             = "WT1520",
                .hw_id          = HWID_NEXX_WT1520,
                .layout_id      = "8M",
                .key            = KEY_NEXX_1,
        }, {
                .id             = "WT3020",
                .hw_id          = HWID_NEXX_WT3020,
                .layout_id      = "4M",
                .key            = KEY_NEXX_2,
        }, {
                .id             = "WT3020",
                .hw_id          = HWID_NEXX_WT3020,
                .layout_id      = "8M",
                .key            = KEY_NEXX_2,
        }, {
                .id             = "WT3020",
                .hw_id          = HWID_NEXX_WT3020,
                .layout_id      = "16M",
                .key            = KEY_NEXX_2,
        }, {



                /* terminating entry */
        }
};

/*
 * Message macros
 */
#define ERR(fmt, ...) do { \
        fflush(0); \
        fprintf(stderr, "[%s] *** error: " fmt "\n", \
                        progname, ## __VA_ARGS__ ); \
} while (0)

#define ERRS(fmt, ...) do { \
        int save = errno; \
        fflush(0); \
        fprintf(stderr, "[%s] *** error: " fmt ":%s\n", \
                        progname, ## __VA_ARGS__, strerror(save)); \
} while (0)

#define DBG(fmt, ...) do { \
        fprintf(stderr, "[%s] " fmt "\n", progname, ## __VA_ARGS__ ); \
} while (0)

/*
 * Find a board by its name
 */
static struct board_info *find_board(char *id)
{
        struct board_info *ret;
        struct board_info *board;

        ret = NULL;
        for (board = boards; board->id != NULL; board++){
                if (strcasecmp(id, board->id) == 0) {
                        ret = board;
                        break;
                }
        };

        return ret;
}

/*
 * Find a board by its hardware ID
 */
static struct board_info *find_board_by_hwid(uint32_t hw_id)
{
        struct board_info *board;

        for (board = boards; board->id != NULL; board++) {
                if (hw_id == board->hw_id)
                        return board;
        };

        return NULL;
}

/*
 * Find a Flash memory layout by its name
 */
static struct flash_layout *find_layout(char *id)
{
        struct flash_layout *ret;
        struct flash_layout *l;

        ret = NULL;
        for (l = layouts; l->id != NULL; l++){
                if (strcasecmp(id, l->id) == 0) {
                        ret = l;
                        break;
                }
        };

        return ret;
}

/*
 * Display usage
 */
static void usage(int status)
{
        FILE *stream = (status != EXIT_SUCCESS) ? stderr : stdout;

        fprintf(stream, "Usage: %s [OPTIONS...]\n", progname);
        fprintf(stream,
"\n"
"Options:\n"
"  -B <board>      create image for the board specified with <board>\n"
"  -H <hwid>       use hardware id specified with <hwid>\n"
"  -F <id>         use flash layout specified with <id>\n"
"  -f <file>       read firmware image from the file <file>\n"
"  -o <file>       write output to the file <file>\n"
"  -i              inspect given firmware file (requires -f)\n"
"  -x              extract combined kernel and rootfs while inspecting (implies -i)\n"
"  -h              show this screen\n"
        );

        exit(status);
}

/*
 * Get file statistics
 */
static int get_file_stat(struct file_info *fdata)
{
        struct stat st;
        int res;

        if (fdata->file_name == NULL) {
                return 0;
        }
        res = stat(fdata->file_name, &st);
        if (res){
                ERRS("stat failed on %s", fdata->file_name);
                return res;
        }

        fdata->file_size = st.st_size;
        return 0;
}

/*
 * Read file into buffer
 */
static int read_to_buf(struct file_info *fdata, uint8_t *buf)
{
        FILE *f;
        int ret = EXIT_FAILURE;

        f = fopen(fdata->file_name, "rb");
        if (f == NULL) {
                ERRS("could not open \"%s\" for reading", fdata->file_name);
                goto out;
        }

        errno = 0;
        fread(buf, fdata->file_size, 1, f);
        if (errno != 0) {
                ERRS("unable to read from file \"%s\"", fdata->file_name);
                goto out_close;
        }

        ret = EXIT_SUCCESS;

 out_close:
        fclose(f);
 out:
        return ret;
}

/*
 * Check command line options
 */
static int check_options(void)
{
        int ret;

        if (firmware_info.file_name == NULL) {
                ERR("no firmware image specified");
                return -1;
        }

        ret = get_file_stat(&firmware_info);
        if (ret)
                return ret;

        if (inspect)
                return 0;

        if (board_id == NULL && opt_hw_id == NULL) {
                ERR("either board or hardware id must be specified");
                return -1;
        }

        if (board_id) {
                board = find_board(board_id);
                if (board == NULL) {
                        ERR("unknown/unsupported board id \"%s\"", board_id);
                        return -1;
                }
                if (layout_id == NULL) {
                        layout_id = board->layout_id;
                }
                hw_id = board->hw_id;
        } else {
                hw_id = strtoul(opt_hw_id, NULL, 0);
                board = find_board_by_hwid(hw_id);
                if (layout_id == NULL) {
                        layout_id = board->layout_id;
                }
        }

        layout = find_layout(layout_id);
        if (layout == NULL) {
                ERR("unknown flash layout \"%s\"", layout_id);
                return -1;
        }

        firmware_len = firmware_info.file_size;

        if (firmware_info.file_size >
                layout->fw_max_len - sizeof (struct fw_header)) {
                ERR("firmware image is too big");
                return -1;
        }

        if (ofname == NULL) {
                ERR("no output file specified");
                return -1;
        }
        return 0;
}

/*
 * Fill in firmware header
 */
static void fill_header(uint8_t *buf)
{
        struct fw_header *hdr = (struct fw_header *) buf;

        memset(hdr, 0, sizeof (struct fw_header));
        hdr->hw_id = HOST_TO_LE32(hw_id);
        hdr->firmware_len = HOST_TO_LE32(firmware_len);
        hdr->flags = HOST_TO_LE32(HEADER_FLAGS);
}

/*
 * Compute firmware checksum
 */
static uint16_t checksum_fw(uint8_t *data, int len)
{
        int i;
        int32_t checksum = 0;

        for (i = 0; i < len - 1; i += 2) {
                checksum += (data[i + 1] << 8) | data[i];
        }
        if (i < len) {
                checksum += data[i];
        }
        checksum = checksum + (checksum >> 16) + 0xffff;
        checksum = ~(checksum + (checksum >> 16)) & 0xffff;
        return (uint16_t) checksum;
}

/*
 * (De)obfuscate firmware using an XOR operation with a fixed length key
 */
static void xor_fw(uint8_t *data, int len)
{
        int i;

        for (i = 0; i <= len; i++) {
                data[i] ^= key[board->key][i % KEY_LEN];
        }
}

/*
 * Write firmware to file
 */
static int write_fw(uint8_t *data, int len)
{
        FILE *f;
        int ret = EXIT_FAILURE;

        f = fopen(ofname, "wb");
        if (f == NULL) {
                ERRS("could not open \"%s\" for writing", ofname);
                goto out;
        }

        errno = 0;
        fwrite(data, len, 1, f);
        if (errno) {
                ERRS("unable to write output file");
                goto out_flush;
        }

        DBG("firmware file \"%s\" completed", ofname);

        ret = EXIT_SUCCESS;

 out_flush:
        fflush(f);
        fclose(f);
        if (ret != EXIT_SUCCESS) {
                unlink(ofname);
        }
 out:
        return ret;
}

/*
 * Build firmware file
 */
static int build_fw(void)
{
        int buflen;
        uint8_t *buf, *p;
        int ret = EXIT_FAILURE;
        int writelen = 0;
        uint16_t checksum;

        buflen = layout->fw_max_len;

        buf = (uint8_t *) malloc(buflen);
        if (!buf) {
                ERR("no memory for buffer\n");
                goto out;
        }

        memset(buf, 0xff, buflen);
        p = buf + sizeof (struct fw_header);
        ret = read_to_buf(&firmware_info, p);
        if (ret) {
                goto out_free_buf;
        }
        writelen = sizeof (struct fw_header) + firmware_len + 2;

        /* Fill in header */
        fill_header(buf);

        /* Compute firmware checksum */
        checksum = checksum_fw(buf + sizeof (struct fw_header), firmware_len);

        /* Cannot use network order function because checksum is not word-aligned */
        buf[writelen - 1] = checksum >> 8;
        buf[writelen - 2] = checksum & 0xff;

        /* XOR obfuscate firmware */
        xor_fw(buf + sizeof (struct fw_header), firmware_len + 2);

        /* Write firmware file */
        ret = write_fw(buf, writelen);
        if (ret) {
                goto out_free_buf;
        }
        ret = EXIT_SUCCESS;

 out_free_buf:
        free(buf);
 out:
        return ret;
}

/* Helper functions to inspect_fw() representing different output formats */
static inline void inspect_fw_pstr(char *label, char *str)
{
        printf("%-23s: %s\n", label, str);
}

static inline void inspect_fw_phex(char *label, uint32_t val)
{
        printf("%-23s: 0x%08x\n", label, val);
}

static inline void inspect_fw_phexpost(char *label,
                                       uint32_t val, char *post)
{
        printf("%-23s: 0x%08x (%s)\n", label, val, post);
}

static inline void inspect_fw_phexdef(char *label,
                                      uint32_t val, uint32_t defval)
{
        printf("%-23s: 0x%08x                  ", label, val);

        if (val == defval) {
                printf("(== OpenWrt default)\n");
        } else {
                printf("(OpenWrt default: 0x%08x)\n", defval);
        }
}

static inline void inspect_fw_phexexp(char *label,
                                      uint32_t val, uint32_t expval)
{
        printf("%-23s: 0x%08x ", label, val);

        if (val == expval) {
                printf("(ok)\n");
        } else {
                printf("(expected: 0x%08x)\n", expval);
        }
}

static inline void inspect_fw_phexdec(char *label, uint32_t val)
{
        printf("%-23s: 0x%08x / %8u bytes\n", label, val, val);
}

static inline void inspect_fw_pchecksum(char *label,
                                        uint16_t val, uint16_t expval)
{
        printf("%-23s: 0x%04x     ", label, val);
        if (val == expval) {
                printf("(ok)\n");
        } else {
                printf("(expected: 0x%04x)\n", expval);
        }
}

static int inspect_fw(void)
{
        uint8_t *buf;
        struct fw_header *hdr;
        int ret = EXIT_FAILURE;
        uint16_t computed_checksum, file_checksum;

        buf = (uint8_t *) malloc(firmware_info.file_size);
        if (!buf) {
                ERR("no memory for buffer!\n");
                goto out;
        }

        ret = read_to_buf(&firmware_info, buf);
        if (ret) {
                goto out_free_buf;
        }
        hdr = (struct fw_header *)buf;

        inspect_fw_pstr("File name", firmware_info.file_name);
        inspect_fw_phexdec("File size", firmware_info.file_size);

        printf("\n");

        inspect_fw_phexdec("Header size", sizeof (struct fw_header));
        board = find_board_by_hwid(LE32_TO_HOST(hdr->hw_id));
        if (board) {
                layout = find_layout(board->layout_id);
                inspect_fw_phexpost("Hardware ID",
                                    LE32_TO_HOST( hdr->hw_id), board->id);
        } else {
                inspect_fw_phexpost("Hardware ID",
                                    LE32_TO_HOST(hdr->hw_id), "unknown");
        }
        inspect_fw_phexdec("Firmware data length",
                           LE32_TO_HOST(hdr->firmware_len));

        inspect_fw_phexexp("Flags",
                           LE32_TO_HOST(hdr->flags), HEADER_FLAGS);
        printf("\n");

        /* XOR unobfuscate firmware */
        xor_fw(buf + sizeof (struct fw_header), LE32_TO_HOST(hdr->firmware_len) + 2);

        /* Compute firmware checksum */
        computed_checksum = checksum_fw(buf + sizeof (struct fw_header), LE32_TO_HOST(hdr->firmware_len));

        /* Cannot use network order function because checksum is not word-aligned */
        file_checksum = (buf[firmware_info.file_size - 1] << 8) | buf[firmware_info.file_size - 2];
        inspect_fw_pchecksum("Firmware checksum", computed_checksum, file_checksum);

        /* Verify checksum */
        if (computed_checksum != file_checksum) {
                ret = -1;
                ERR("checksums do not match");
                goto out_free_buf;
        }

        printf("\n");

        if (extract) {
                FILE *fp;
                char *filename;

                if (ofname == NULL) {
                        filename = malloc(strlen(firmware_info.file_name) + 10);
                        sprintf(filename, "%s-firmware", firmware_info.file_name);
                } else {
                        filename = ofname;
                }
                printf("Extracting firmware to \"%s\"...\n", filename);
                fp = fopen(filename, "wb");
                if (fp) {
                  if (!fwrite(buf + sizeof (struct fw_header),
                                    LE32_TO_HOST(hdr->firmware_len), 1, fp)) {
                                ERRS("error in fwrite(): %s", strerror(errno));
                        }
                        fclose(fp);
                } else {
                        ERRS("error in fopen(): %s", strerror(errno));
                }
                if (ofname == NULL) {
                        free(filename);
                }
                printf("\n");
        }

 out_free_buf:
        free(buf);
 out:
        return ret;
}

/*
 * Main entry point
 */
int main(int argc, char *argv[])
{
        int ret = EXIT_FAILURE;

        progname = basename(argv[0]);

        int c;

        while ((c = getopt(argc, argv, "B:H:F:f:o:ixh")) != -1) {
                switch (c) {
                case 'B':
                        board_id = optarg;
                        break;
                case 'H':
                        opt_hw_id = optarg;
                        break;
                case 'F':
                        layout_id = optarg;
                        break;
                case 'f':
                        firmware_info.file_name = optarg;
                        break;
                case 'o':
                        ofname = optarg;
                        break;
                case 'i':
                        inspect = 1;
                        break;
                case 'x':
                        inspect = 1;
                        extract = 1;
                        break;
                case 'h':
                        usage(EXIT_SUCCESS);
                        break;
                default:
                        usage(EXIT_FAILURE);
                        break;
                }
        }

        ret = check_options();
        if (ret) {
                goto out;
        }
        if (!inspect) {
                ret = build_fw();
        } else {
                ret = inspect_fw();
        }

 out:
        return ret;
}

Aktualnie przeszukuje Makefile (kod na pastebin, bo forum buntuje się o rozmiar postu)

http://pastebin.com/ZMv7bTxT


lecz tutaj tym bardziej mam problemy z prawidłowymi wzmiankami o nowej kości.

243

(64 odpowiedzi, napisanych Oprogramowanie / Software)

Co jeszcze należy z edytować, aby pomimo nowo dodanego dts'a z flashem na 16MB również i jego brało pod uwagę podczas kompilacji obrazów? Szukałem, szukałem ale w żadnym pliku nie widziałem nic odpowiedniego.

244

(24 odpowiedzi, napisanych Oprogramowanie / Software)

Ktoś może podać jakąś kompatybilną kość 16MB dostępną np. na farnellu?

Taką opto głowicę można zrobić sobie samemu. Kosztowo zamknie się w 20zł. Najlepsza opcją jest jakiś rs232/485 albo modbus w liczniku, ale to raczej przemysłowe...

246

(18 odpowiedzi, napisanych Debian Mini HowTo)

Do 3 razy sztuka. Kupiłem trzeciego pendrive i stwierdziłem, że jak z tym nie zadziała to leci to wszystko do śmieci. Odpaliło smile

247

(18 odpowiedzi, napisanych Debian Mini HowTo)

Przy próbie załadowania uinitrd otrzymuje takie błędy:

NSA310> ext4load usb 0:1 0x1100000 /boot/uInitrd
EHCI timed out on TD - token=0x8e008d80
EHCI timed out on TD - token=0xe008d80
EHCI timed out on TD - token=0xe008d80
 ** ext4fs_devread read error - block

.

na starym pendrivie mam

NSA310> ext4load usb 0:1 0x1100000 /boot/uInitrd
7179935 bytes read in 519 ms (13.2 MiB/s)

248

(18 odpowiedzi, napisanych Debian Mini HowTo)

Kupiłem kolejnego pendrive, tym razem kingstona 16gb. Na nim podobne objawy:

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.0-kirkwood-tld-1 (root@tldDebian) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 PREEMPT Mon Jan 25 20:35:24 PST 2016
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine model: ZyXEL NSA310
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/sdb1 rootdelay=10 rootfstype=ext3 mtdparts=orion_nand:0x100000(uboot),0x80000(stock_uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2)
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 250580K/262144K available (6007K kernel code, 573K rwdata, 1992K rodata, 296K init, 312K bss, 11564K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff800000   ( 752 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc07d7ef4   (8000 kB)
[    0.000000]       .init : 0xc07d8000 - 0xc0822000   ( 296 kB)
[    0.000000]       .data : 0xc0822000 - 0xc08b169c   ( 574 kB)
[    0.000000]        .bss : 0xc08b169c - 0xc08ff9d0   ( 313 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]     Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] clocksource: orion_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns
[    0.000009] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 10737418237ns
[    0.000327] Console: colour dummy device 80x30
[    0.000358] Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256)
[    0.090100] pid_max: default: 32768 minimum: 301
[    0.090209] Security Framework initialized
[    0.090285] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090306] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.091084] Initializing cgroup subsys io
[    0.091117] Initializing cgroup subsys devices
[    0.091141] Initializing cgroup subsys freezer
[    0.091174] Initializing cgroup subsys net_cls
[    0.091257] CPU: Testing write buffer coherency: ok
[    0.091723] Setting up static identity map for 0x8200 - 0x8258
[    0.092048] mvebu-soc-id: MVEBU SoC ID=0x6281, Rev=0x3
[    0.095792] devtmpfs: initialized
[    0.101119] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.101583] prandom: seed boundary self test passed
[    0.105322] prandom: 100 self tests passed
[    0.105349] pinctrl core: initialized pinctrl subsystem
[    0.106733] NET: Registered protocol family 16
[    0.107176] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.130108] cpuidle: using governor ladder
[    0.160105] cpuidle: using governor menu
[    0.160561] Feroceon L2: Enabling L2
[    0.160607] Feroceon L2: Cache support initialised.
[    0.166237] No ATAGs?
[    0.201602] vgaarb: loaded
[    0.201981] usbcore: registered new interface driver usbfs
[    0.202063] usbcore: registered new interface driver hub
[    0.202126] usbcore: registered new device driver usb
[    0.203240] clocksource: Switched to clocksource orion_clocksource
[    0.258296] NET: Registered protocol family 2
[    0.259106] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.259146] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.259177] TCP: Hash tables configured (established 2048 bind 2048)
[    0.259247] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.259270] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.259465] NET: Registered protocol family 1
[    0.259872] RPC: Registered named UNIX socket transport module.
[    0.259884] RPC: Registered udp transport module.
[    0.259892] RPC: Registered tcp transport module.
[    0.259900] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.260304] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.261329] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.261401] audit: initializing netlink subsys (disabled)
[    0.261451] audit: type=2000 audit(0.250:1): initialized
[    0.261801] Initialise system trusted keyring
[    0.262191] zbud: loaded
[    0.262483] VFS: Disk quotas dquot_6.6.0
[    0.262545] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.263103] NFS: Registering the id_resolver key type
[    0.263142] Key type id_resolver registered
[    0.263152] Key type id_legacy registered
[    0.263178] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.263193] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    0.263491] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.264027] Key type big_key registered
[    0.275362] Key type asymmetric registered
[    0.275384] Asymmetric key parser 'x509' registered
[    0.275477] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.275498] io scheduler noop registered
[    0.275514] io scheduler deadline registered
[    0.275575] io scheduler cfq registered (default)
[    0.276926] kirkwood-pinctrl f1010000.pin-controller: registered pinctrl driver
[    0.277602] irq: Cannot allocate irq_descs @ IRQ33, assuming pre-allocated
[    0.278035] irq: Cannot allocate irq_descs @ IRQ65, assuming pre-allocated
[    0.278877] mvebu-pcie mbus:pcie-controller: PCI host bridge to bus 0000:00
[    0.278898] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.278911] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
[    0.278925] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.279333] PCI: bus0: Fast back to back transfers disabled
[    0.279359] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.293428] PCI: bus1: Fast back to back transfers disabled
[    0.293614] pci 0000:00:01.0: BAR 14: assigned [mem 0xe0000000-0xe00fffff]
[    0.293631] pci 0000:00:01.0: BAR 13: assigned [io  0x10000-0x10fff]
[    0.293650] pci 0000:01:00.0: BAR 6: assigned [mem 0xe0000000-0xe000ffff pref]
[    0.293667] pci 0000:01:00.0: BAR 4: assigned [mem 0xe0010000-0xe0013fff 64bit pref]
[    0.293691] pci 0000:01:00.0: BAR 2: assigned [mem 0xe0014000-0xe0014fff 64bit pref]
[    0.293713] pci 0000:01:00.0: BAR 0: assigned [io  0x10000-0x100ff]
[    0.293728] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.293742] pci 0000:00:01.0:   bridge window [io  0x10000-0x10fff]
[    0.293757] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe00fffff]
[    0.293845] pcieport 0000:00:01.0: enabling device (0140 -> 0143)
[    0.294144] mv_xor f1060800.xor: Marvell shared XOR driver
[    0.333917] mv_xor f1060800.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    0.334145] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.373927] mv_xor f1060900.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    0.374392] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.375803] console [ttyS0] disabled
[    0.375867] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 26, base_baud = 12500000) is a 16550A
[    1.078771] console [ttyS0] enabled
[    1.083594] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
[    1.089983] nand: Samsung NAND 128MiB 3,3V 8-bit
[    1.094652] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.102260] Scanning device for bad blocks
[    1.106644] Bad eraseblock 2 at 0x000000040000
[    1.111160] Bad eraseblock 3 at 0x000000060000
[    1.213926] 9 cmdlinepart partitions found on MTD device orion_nand
[    1.220225] Creating 9 MTD partitions on "orion_nand":
[    1.225413] 0x000000000000-0x000000100000 : "uboot"
[    1.231630] 0x000000100000-0x000000180000 : "stock_uboot_env"
[    1.238662] 0x000000180000-0x000000200000 : "key_store"
[    1.245177] 0x000000200000-0x000000280000 : "info"
[    1.251230] 0x000000280000-0x000000c80000 : "etc"
[    1.257273] 0x000000c80000-0x000001680000 : "kernel_1"
[    1.263745] 0x000001680000-0x000004640000 : "rootfs1"
[    1.270055] 0x000004640000-0x000005040000 : "kernel_2"
[    1.276474] 0x000005040000-0x000008000000 : "rootfs2"
[    1.283904] libphy: Fixed MDIO Bus: probed
[    1.288392] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.295028] ehci-pci: EHCI PCI platform driver
[    1.299563] ehci-orion: EHCI orion driver
[    1.303817] orion-ehci f1050000.ehci: EHCI Host Controller
[    1.309354] orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
[    1.317241] orion-ehci f1050000.ehci: irq 30, io mem 0xf1050000
[    1.333282] orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00
[    1.339559] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.346409] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.353689] usb usb1: Product: EHCI Host Controller
[    1.358587] usb usb1: Manufacturer: Linux 4.4.0-kirkwood-tld-1 ehci_hcd
[    1.365251] usb usb1: SerialNumber: f1050000.ehci
[    1.370708] hub 1-0:1.0: USB hub found
[    1.374570] hub 1-0:1.0: 1 port detected
[    1.379499] mousedev: PS/2 mouse device common for all mice
[    1.385826] rtc-mv f1010300.rtc: rtc core: registered f1010300.rtc as rtc0
[    1.392901] i2c /dev entries driver
[    1.399436] hidraw: raw HID events driver (C) Jiri Kosina
[    1.405342] drop_monitor: Initializing network drop monitor service
[    1.411893] NET: Registered protocol family 17
[    1.416661] Key type dns_resolver registered
[    1.421796] registered taskstats version 1
[    1.425993] Loading compiled-in X.509 certificates
[    1.430870] zswap: loaded using pool lzo/zbud
[    1.436383] Key type encrypted registered
[    1.441032] rtc-mv f1010300.rtc: setting system clock to 2016-06-02 14:53:04 UTC (1464879184)
[    1.451124] Waiting 10 sec before mounting root device...
[    1.693275] usb 1-1: new high-speed USB device number 2 using orion-ehci
[    1.845000] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608
[    1.851751] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    1.858959] usb 1-1: Product: USB2.0 Hub
[    1.863848] hub 1-1:1.0: USB hub found
[    1.868001] hub 1-1:1.0: 4 ports detected
[    2.153268] usb 1-1.2: new high-speed USB device number 3 using orion-ehci
[    2.270998] usb 1-1.2: New USB device found, idVendor=0951, idProduct=1665
[    2.277937] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.285316] usb 1-1.2: Product: DataTraveler 2.0
[    2.289953] usb 1-1.2: Manufacturer: Kingston
[    2.294349] usb 1-1.2: SerialNumber: 00241D8CE459B020D9A09CD5
[   11.463430] VFS: Cannot open root device "sdb1" or unknown-block(0,0): error -6
[   11.470776] Please append a correct "root=" boot option; here are the available partitions:
[   11.479312] 1f00            1024 mtdblock0  (driver?)
[   11.484455] 1f01             512 mtdblock1  (driver?)
[   11.489536] 1f02             512 mtdblock2  (driver?)
[   11.494666] 1f03             512 mtdblock3  (driver?)
[   11.499747] 1f04           10240 mtdblock4  (driver?)
[   11.504850] 1f05           10240 mtdblock5  (driver?)
[   11.509933] 1f06           48896 mtdblock6  (driver?)
[   11.515035] 1f07           10240 mtdblock7  (driver?)
[   11.520117] 1f08           48896 mtdblock8  (driver?)
[   11.525219] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[   11.533520] CPU: 0 PID: 1 Comm: swapper Not tainted 4.4.0-kirkwood-tld-1 #1
[   11.540509] Hardware name: Marvell Kirkwood (Flattened Device Tree)
[   11.546828] [<c0016784>] (unwind_backtrace) from [<c00129f8>] (show_stack+0x10/0x14)
[   11.554611] [<c00129f8>] (show_stack) from [<c00c2200>] (panic+0x80/0x214)
[   11.561528] [<c00c2200>] (panic) from [<c07d9280>] (mount_block_root+0x204/0x24c)
[   11.569049] [<c07d9280>] (mount_block_root) from [<c07d93b4>] (mount_root+0xec/0x118)
[   11.576922] [<c07d93b4>] (mount_root) from [<c07d9504>] (prepare_namespace+0x124/0x184)
[   11.584963] [<c07d9504>] (prepare_namespace) from [<c07d8e9c>] (kernel_init_freeable+0x208/0x258)
[   11.593880] [<c07d8e9c>] (kernel_init_freeable) from [<c05b16b4>] (kernel_init+0x8/0xe4)
[   11.602012] [<c05b16b4>] (kernel_init) from [<c000f090>] (ret_from_fork+0x14/0x24)
[   11.609623] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Na starym pendrive wszystko rusza od strzała. Jakieś sugestie?

249

(18 odpowiedzi, napisanych Debian Mini HowTo)

Ok, powróciłem do tematu. Aktualnie zmienne wyglądają tak:

usb_init=usb start
usb_load_uimage=ext4load usb $device 0x800000 /boot/uImage
usb_load_uinitrd=ext4load usb $device 0x1100000 /boot/uInitrd
usb_root=PARTUUID=b2df774b-0cad-4abd-ba9f-8d3e51926437

i log

U-Boot 2015.10-tld-1 (Nov 06 2015 - 16:19:43 -0800)
ZyXEL NSA310 1-Bay Power Media Server 


SoC:   Kirkwood 88F6281_A1
DRAM:  256 MiB (ECC not enabled)
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
PHY reset timed out
MV88E1318 PHY initialized on egiga0
Hit any key to stop autoboot:  0 
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Partition Map for USB device 0  --   Partition Type: DOS

Part    Start Sector    Num Sectors    UUID        Type
  1    2048          15603712      00001098-01    83
loading envs from usb 0 ...
156 bytes read in 328 ms (0 Bytes/s)
importing envs ...
## Info: input data size = 16708 = 0x4144
3206562 bytes read in 547 ms (5.6 MiB/s)
7179935 bytes read in 663 ms (10.3 MiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-4.5.0-kirkwood-tld-1
   Created:      2016-04-26  18:34:28 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3206498 Bytes = 3.1 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-4.4.0-kirkwood-tld-1
   Created:      2016-02-19   7:33:04 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    7179871 Bytes = 6.8 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
Using machid 0x118f from environment

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.5.0-kirkwood-tld-1 (root@tldDebian) (gcc version 4.9.2 (Debian 4.9.2-10) ) #4 PREEMPT Fri Mar 18 21:36:04 PDT 2016
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine model: ZyXEL NSA310
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/sdb1 rootdelay=10 rootfstype=ext3 mtdparts=orion_nand:0x100000(uboot),0x80000(stock_uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2)
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 243396K/262144K available (6112K kernel code, 599K rwdata, 2024K rodata, 300K init, 315K bss, 18748K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff800000   ( 752 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc07fa588   (8138 kB)
[    0.000000]       .init : 0xc07fb000 - 0xc0846000   ( 300 kB)
[    0.000000]       .data : 0xc0846000 - 0xc08dbc8c   ( 600 kB)
[    0.000000]        .bss : 0xc08dbc8c - 0xc092abe0   ( 316 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]     Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] clocksource: orion_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns
[    0.000008] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 10737418237ns
[    0.000325] Console: colour dummy device 80x30
[    0.000357] Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256)
[    0.090101] pid_max: default: 32768 minimum: 301
[    0.090217] Security Framework initialized
[    0.090294] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090314] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.091188] CPU: Testing write buffer coherency: ok
[    0.091646] Setting up static identity map for 0x8200 - 0x8258
[    0.091959] mvebu-soc-id: MVEBU SoC ID=0x6281, Rev=0x3
[    0.095714] devtmpfs: initialized
[    0.100864] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.101162] prandom: seed boundary self test passed
[    0.104901] prandom: 100 self tests passed
[    0.104925] pinctrl core: initialized pinctrl subsystem
[    0.106332] NET: Registered protocol family 16
[    0.106778] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.130104] cpuidle: using governor ladder
[    0.160106] cpuidle: using governor menu
[    0.160570] Feroceon L2: Enabling L2
[    0.160616] Feroceon L2: Cache support initialised.
[    0.166274] No ATAGs?
[    0.201539] vgaarb: loaded
[    0.201909] usbcore: registered new interface driver usbfs
[    0.201989] usbcore: registered new interface driver hub
[    0.202051] usbcore: registered new device driver usb
[    0.203185] clocksource: Switched to clocksource orion_clocksource
[    0.247745] VFS: Disk quotas dquot_6.6.0
[    0.247819] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.259338] NET: Registered protocol family 2
[    0.260136] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.260174] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.260205] TCP: Hash tables configured (established 2048 bind 2048)
[    0.260268] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.260291] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.260495] NET: Registered protocol family 1
[    0.260885] RPC: Registered named UNIX socket transport module.
[    0.260897] RPC: Registered udp transport module.
[    0.260905] RPC: Registered tcp transport module.
[    0.260912] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.261220] Unpacking initramfs...
[    0.903386] Freeing initrd memory: 7012K (c1100000 - c17d9000)
[    0.903545] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.904664] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.904742] audit: initializing netlink subsys (disabled)
[    0.904795] audit: type=2000 audit(0.900:1): initialized
[    0.905146] Initialise system trusted keyring
[    0.905534] zbud: loaded
[    0.906224] NFS: Registering the id_resolver key type
[    0.906268] Key type id_resolver registered
[    0.906278] Key type id_legacy registered
[    0.906307] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.906324] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    0.906557] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.907099] Key type big_key registered
[    0.926485] Key type asymmetric registered
[    0.926507] Asymmetric key parser 'x509' registered
[    0.926604] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.926623] io scheduler noop registered
[    0.926637] io scheduler deadline registered
[    0.926700] io scheduler cfq registered (default)
[    0.928036] kirkwood-pinctrl f1010000.pin-controller: registered pinctrl driver
[    0.928733] irq: Cannot allocate irq_descs @ IRQ33, assuming pre-allocated
[    0.929180] irq: Cannot allocate irq_descs @ IRQ65, assuming pre-allocated
[    0.930034] mvebu-pcie mbus:pcie-controller: PCI host bridge to bus 0000:00
[    0.930053] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.930066] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
[    0.930080] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.930485] PCI: bus0: Fast back to back transfers disabled
[    0.930510] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.943276] PCI: bus1: Fast back to back transfers disabled
[    0.943463] pci 0000:00:01.0: BAR 14: assigned [mem 0xe0000000-0xe00fffff]
[    0.943478] pci 0000:00:01.0: BAR 13: assigned [io  0x10000-0x10fff]
[    0.943497] pci 0000:01:00.0: BAR 6: assigned [mem 0xe0000000-0xe000ffff pref]
[    0.943514] pci 0000:01:00.0: BAR 4: assigned [mem 0xe0010000-0xe0013fff 64bit pref]
[    0.943538] pci 0000:01:00.0: BAR 2: assigned [mem 0xe0014000-0xe0014fff 64bit pref]
[    0.943559] pci 0000:01:00.0: BAR 0: assigned [io  0x10000-0x100ff]
[    0.943575] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.943588] pci 0000:00:01.0:   bridge window [io  0x10000-0x10fff]
[    0.943602] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe00fffff]
[    0.943690] pcieport 0000:00:01.0: enabling device (0140 -> 0143)
[    0.943997] mv_xor f1060800.xor: Marvell shared XOR driver
[    0.983885] mv_xor f1060800.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    0.984116] mv_xor f1060900.xor: Marvell shared XOR driver
[    1.023874] mv_xor f1060900.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    1.024351] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    1.025765] console [ttyS0] disabled
[    1.025830] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 26, base_baud = 12500000) is a 16550A
[    1.707550] console [ttyS0] enabled
[    1.712346] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
[    1.718763] nand: Samsung NAND 128MiB 3,3V 8-bit
[    1.723422] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.731030] Scanning device for bad blocks
[    1.735414] Bad eraseblock 2 at 0x000000040000
[    1.739921] Bad eraseblock 3 at 0x000000060000
[    1.842569] 9 cmdlinepart partitions found on MTD device orion_nand
[    1.848885] Creating 9 MTD partitions on "orion_nand":
[    1.854067] 0x000000000000-0x000000100000 : "uboot"
[    1.860301] 0x000000100000-0x000000180000 : "stock_uboot_env"
[    1.867343] 0x000000180000-0x000000200000 : "key_store"
[    1.873842] 0x000000200000-0x000000280000 : "info"
[    1.879924] 0x000000280000-0x000000c80000 : "etc"
[    1.885971] 0x000000c80000-0x000001680000 : "kernel_1"
[    1.892388] 0x000001680000-0x000004640000 : "rootfs1"
[    1.898739] 0x000004640000-0x000005040000 : "kernel_2"
[    1.905171] 0x000005040000-0x000008000000 : "rootfs2"
[    1.912554] libphy: Fixed MDIO Bus: probed
[    1.917101] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.923703] ehci-pci: EHCI PCI platform driver
[    1.928233] ehci-orion: EHCI orion driver
[    1.932456] orion-ehci f1050000.ehci: EHCI Host Controller
[    1.938025] orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
[    1.945905] orion-ehci f1050000.ehci: irq 30, io mem 0xf1050000
[    1.963227] orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00
[    1.969488] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.976342] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.983618] usb usb1: Product: EHCI Host Controller
[    1.988518] usb usb1: Manufacturer: Linux 4.5.0-kirkwood-tld-1 ehci_hcd
[    1.995179] usb usb1: SerialNumber: f1050000.ehci
[    2.000647] hub 1-0:1.0: USB hub found
[    2.004510] hub 1-0:1.0: 1 port detected
[    2.009429] mousedev: PS/2 mouse device common for all mice
[    2.015759] rtc-mv f1010300.rtc: rtc core: registered f1010300.rtc as rtc0
[    2.022823] i2c /dev entries driver
[    2.029354] hidraw: raw HID events driver (C) Jiri Kosina
[    2.035218] drop_monitor: Initializing network drop monitor service
[    2.041782] NET: Registered protocol family 17
[    2.046621] Key type dns_resolver registered
[    2.051788] registered taskstats version 1
[    2.055975] Loading compiled-in X.509 certificates
[    2.060855] zswap: loaded using pool lzo/zbud
[    2.073320] Key type encrypted registered
[    2.078045] rtc-mv f1010300.rtc: setting system clock to 2016-05-15 14:28:54 UTC (1463322534)
[    2.089006] Freeing unused kernel memory: 300K (c07fb000 - c0846000)
Loading, please wait...
[    2.167130] systemd-udevd[84]: starting version 215
[    2.184037] random: systemd-udevd urandom read with 3 bits of entropy available
[    2.323294] usb 1-1: new high-speed USB device number 2 using orion-ehci
[    2.485177] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608
[    2.491937] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    2.511632] usb 1-1: Product: USB2.0 Hub
[    2.521313] hub 1-1:1.0: USB hub found
[    2.529503] hub 1-1:1.0: 4 ports detected
[    2.813219] usb 1-1.2: new high-speed USB device number 3 using orion-ehci
[    2.925411] usb 1-1.2: New USB device found, idVendor=090c, idProduct=1000
[    2.932331] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.939712] usb 1-1.2: Product: USB DISK
[    2.943669] usb 1-1.2: Manufacturer: SMI Corporation
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/sdb1 does not exist.  Dropping to a shell!
modprobe: can't change directory to '4.5.0-kirkwood-tld-1': No such file or directory
modprobe: can't change directory to '4.5.0-kirkwood-tld-1': No such file or directory
modprobe: can't change directory to '4.5.0-kirkwood-tld-1': No such file or directory
modprobe: can't change directory to '4.5.0-kirkwood-tld-1': No such file or directory
modprobe: can't change directory to '4.5.0-kirkwood-tld-1': No such file or directory
modprobe: can't change directory to '4.5.0-kirkwood-tld-1': No such file or directory
modprobe: can't change directory to '4.5.0-kirkwood-tld-1': No such file or directory
modprobe: can't change directory to '4.5.0-kirkwood-tld-1': No such file or directory


BusyBox v1.22.1 (Debian 1:1.22.0-9+deb8u1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
(initramfs) 

250

(18 odpowiedzi, napisanych Debian Mini HowTo)

Tak, jest już widoczny. Próbowałem coś takiego:

usb_root=UUID=b2df774b-0cad-4abd-ba9f-8d3e51926437

Niestety dalej to samo. Chyba sobie daruje i kupię coś normalnego, chociaż dziwne że nie chcę ruszyć na tym.