Задать вопрос
  • Поиск Wi-Fi клиентов в радиусе действия точки доступа?

    jcmvbkbc
    @jcmvbkbc
    Создать/использовать имеющийся мониторный интерфейс и натравить на него tcpdump/wireshark/…
    По идее на AP уже должен быть сконфигурирован мониторный интерфейс. Если нет, создать его можно так:

    iw phy <phy на котором нужно создать интерфейс> interface add <имя добавляемого интерфейса> type monitor
  • Поиск Wi-Fi клиентов в радиусе действия точки доступа?

    jcmvbkbc
    @jcmvbkbc
    … или вместо sysfs можно воспользоваться iw dev wlan* station dump
  • Разобрать алгоритм усечённого блочного кодирования (block truncation coding, BTC)?

    jcmvbkbc
    @jcmvbkbc
    Я понял, я использовал 6-битные цветовые компоненты из палитры, а они фактически 8-битные. Пофиксил и всё стало совсем красиво.
  • Разобрать алгоритм усечённого блочного кодирования (block truncation coding, BTC)?

    jcmvbkbc
    @jcmvbkbc
    Добавилл вывод кадров в xpm. C палитрой тоже какая-то хрень некрасивая получается.
  • Можно ли использовать WiFi антенны для 3G модема?

    jcmvbkbc
    @jcmvbkbc
    Логопедическая антенна на рис. 1 порадовала.
  • Не могу установить SkyDrive в Ubuntu 13.04?

    jcmvbkbc
    @jcmvbkbc
    Посмотрел в код. Конфиг-файл, по умолчанию — ~/.lcrc. Поправьте в нём вторую строчку.
  • Не могу установить SkyDrive в Ubuntu 13.04?

    jcmvbkbc
    @jcmvbkbc
    Ну так я вам предлагаю разобраться, что не так: либо найти и заглянуть в файл optz.config (подозреваю, что это будет ~/optz.config, но может придётся поискать в /etc), либо определить, какой файл открывался последним, чтобы посмотреть в нём (это можно сделать запустив skydrive-cli в strace:
    strace -o log -v -f skydrive-cli auth
    

    — лог системных вызовов попадёт в файл log, найдёте там последние вызовы open, глянете в эти файлы).
  • Как сделать push в несозданный remote branch

    jcmvbkbc
    @jcmvbkbc
    и комиты потерять жалко, а отдельный экcпериментальный бранч для них сразу не сделал

    … и это никогда не поздно:
    $ git branch -m <new-branch-name> # переименовать текущий бранч в новый
    $ git checkout <commit-to-be-last-in-the-old-branch> -b <old-branch-name> # восстановить голову старого бранча
    
  • Модуль ядра для OpenWRT. PowerPC

    jcmvbkbc
    @jcmvbkbc
    Конфиг вот

    что-то это на конфиг совсем не похоже.

    А вот версию опенврт, к своему стыду посмотреть не знаю как.

    Ну если она у вас не из гита/свн то я тож не знаю как.

    Я вот поигрался на досуге с головой git://git.openwrt.org/openwrt.git:
    $ make V=99 target/linux/prepare
    make[1]: Entering directory `/home/jcmvbkbc/tmp/dl/openwrt'
    make[2]: Entering directory `/home/jcmvbkbc/tmp/dl/openwrt/target/linux'
    make[3]: Entering directory `/home/jcmvbkbc/tmp/dl/openwrt/target/linux/mpc83xx'
    rm -rf /home/jcmvbkbc/tmp/dl/openwrt/build_dir/target-powerpc_uClibc-0.9.33.2/linux-mpc83xx
    mkdir -p /home/jcmvbkbc/tmp/dl/openwrt/build_dir/target-powerpc_uClibc-0.9.33.2/linux-mpc83xx
    xzcat /home/jcmvbkbc/tmp/dl/openwrt/dl/linux-3.8.13.tar.xz | /usr/bin/gtar -C /home/jcmvbkbc/tmp/dl/openwrt/build_dir/target-powerpc_uClibc-0.9.33.2/linux-mpc83xx -xf -
    rm -rf /home/jcmvbkbc/tmp/dl/openwrt/build_dir/target-powerpc_uClibc-0.9.33.2/linux-mpc83xx/linux-3.8.13/patches; mkdir -p /home/jcmvbkbc/tmp/dl/openwrt/build_dir/target-powerpc_uClibc-0.9.33.2/linux-mpc83xx/linux-3.8.13/patches
    cp -fpR "/home/jcmvbkbc/tmp/dl/openwrt/target/linux/generic/files"/. "./files"/. /home/jcmvbkbc/tmp/dl/openwrt/build_dir/target-powerpc_uClibc-0.9.33.2/linux-mpc83xx/linux-3.8.13/
    ...
    

    В последней процитированной строчке как раз и копируются generic и mpc83xx файлы в каталог сборки. Команда эта живёт в include/quilt.mk:

    define Kernel/Patch/Default
            rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches
            $(if $(kernel_files),$(CP) $(kernel_files) $(LINUX_DIR)/)
            find $(LINUX_DIR)/ -name \*.rej -or -name \*.orig | $(XARGS) rm -f
            $(call PatchDir,$(PKG_BUILD_DIR),$(GENERIC_PATCH_DIR),generic/)
            $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR),platform/)
    endef
    
  • Как удалить файл из существующего коммита в GIT?

    jcmvbkbc
    @jcmvbkbc
    Как я понял, Yekver хочет откатить единственное изменение единственного файла в единственном коммите, а не вычистить файл из репозитория целиком.
  • Merge the remote changes before pushing again, хотя remote changes не было

    jcmvbkbc
    @jcmvbkbc
    Нет, ничего такого не было, --amend не было. Ок будем просто считать что что-то сглючило…

    Можно посмотреть в git reflog в конце концов.
  • Как удалить файл из существующего коммита в GIT?

    jcmvbkbc
    @jcmvbkbc
    М… какая разница где? поменяется только число в первой строчке.
  • Merge the remote changes before pushing again, хотя remote changes не было

    jcmvbkbc
    @jcmvbkbc
    merge commit и не будет содержать никаких изменений если слияние прошло без конфликтов.
    хм, вообще имхо, если в результате слияния никаких изменений вообще не произошло.


    Если результат мёржа однозначно выводится из веток-участников, то коммит мёржа содержит только ссылки на смёрженные ветки и сообщение. В случае конфликтов коммит мёржа будет содержать их разрешение.

    вообще запускал только add, commit, push

    commit умеет всякие --amend, например.

    По вашему графу создаётся впечатление, что после первого пуша вы откатили (или изменили) последний коммит (message2) и накатили message4 и message3.
  • Модуль ядра для OpenWRT. PowerPC

    jcmvbkbc
    @jcmvbkbc
    dlinyj, поделитесь конфигом и версией openwrt, я посмотрю.
  • Модуль ядра для OpenWRT. PowerPC

    jcmvbkbc
    @jcmvbkbc
    Если они туда копируются, то должны там и остаться? Я уже раз двести пересобирал всё.


    make target/linux/clean; make target/linux/prepare

    вот после этого новые файлы скопируются а патчи наложатся в build_dir/linux-mpc83xx/linux-*

    powerpc-openwrt-linux-uclibc-gcc: warning: environment variable 'STAGING_DIR' not defined

    o_O у вас похоже с крос-компилятором что-то не то.
  • Модуль ядра для OpenWRT. PowerPC

    jcmvbkbc
    @jcmvbkbc
    В качестве альтернативного варианта можно разработать драйвер отдельно, а потом соответствующие патч(и) положить в каталог target/linux/mpc83xx/patches
  • Алгоритм нахождения чисел без пар из большого потока данных?

    jcmvbkbc
    @jcmvbkbc
    Непарные числа различаются по меньшей мере одним битом. Значит если мы посчитаем xor от всех чисел, в которых этот бит установлен, то результатом будет одно из непарных чисел (поскольку парные числа друг друга компенсируют, а второе непарное число не будет посчитано, т.к. этот бит в нем не установлен). Поскольку мы заранее не знаем, в каком бите будут отличаться непарные числа, будем отдельно подсчитывать результат xor для всех чисел в которых установлен 0й бит, 1й бит,… 31й бит (хотя, для чисел до 1 000 000 000 достаточно будет и 30 бит). Для этого потребуется 4 * 32 = 128 байт памяти (: Кроме того будем тащить xor вообще для всех чисел. В конце концов парные числа в нём так же друг друга компенсируют, а результатом будет число, единичные биты которого соответствуют различающимся битам непарных чисел.
    Полная рабочая программка выглядит так:
    #include <stdio.h>
    
    unsigned xor_all = 0;
    unsigned xor_bit[32] = {0};
    
    int main(void)
    {
            int i, j;
            int n, in, out1, out2;
    
            scanf("%i", &n);
    
            for (i = 0; i < n; ++i) {
                    scanf("%i", &in);
                    xor_all ^= in;
                    for (j = 0; j < 32; ++j) {
                            if (in & (1 << j))
                                    xor_bit[j] ^= in;
                    }
            }
    
            for (j = 0; j < 32; ++j) {
                    if (xor_all & (1 << j)) {
                            out1 = xor_bit[j];
                            out2 = xor_all ^ xor_bit[j];
                            printf("%d %d\n", out1, out2);
                            break;
                    }
            }
            return 0;
    }
    
  • AHCI: Проблема распознавания SATA-накопителей?

    jcmvbkbc
    @jcmvbkbc
    биты адреса начинаются с 13-го, т.е. выравнивание по границе страницы

    c 13 — это как раз по границе двух страниц.
    Как я понял комментарий со стр.9, more bits are allowed to be RW как раз относится к битам 12..4.
    Я бы получал адрес как

    uint64_t bar5 = read_pci_field(device, PCI_FIELD_BAR5) & ~0xF;

    либо перезаписывал бы его прямо в BAR с нужным выравниванием.
  • AHCI: Проблема распознавания SATA-накопителей?

    jcmvbkbc
    @jcmvbkbc
    И, кстати, из спецификации следует что выравнивание может быть и менше 4Кб:

    Base Address (BA): Base address of register memory space. This represents a
    memory space for support of 32 ports. For HBAs that support fewer than 32-ports,
    more bits are allowed to be RW, and therefore less memory space is consumed. For
    HBAs that have vendor specific space at the end of the port specific memory space,
    more bits are allowed to be RO such that more memory space is consumed.