← All posts tagged HowTo

Shura

Вчера удалось победить андроид. Как известно, андроид 4.x не позволяет сторонним программам писать на внешние носители. В результате, купленный мной для медиаплеера внешний hdd, оказался как бы бесполезным — я планировал на него торренты качать прям с этого медиаплеера, а тут такой облом. Погуглив, обнаружил некоторые подробности и решение: chainfire.eu
Надо утянуть с плеера файл /system/etc/permissions/platform.xml, немного его модифицировать и залить обратно.

Решение общее, так что пришлось искать как его воплотить в жизнь именно на моём медиаплеере mini X.

Разрешение записи на внешние носители на медиаплеере Mini X

Итак, нам понадобится:
— программа для андроида Dropbear ssh server play.google.com
— еще одна программа для андроида BusyBox installer play.google.com
— компьютер с linux, хотя подойдёт и с виндой, тогда на него надо будет поставить какой-нибудь ssh клиент с возможностью передачи файлов, например putty chiark.greenend.org.uk

Устанавливаем вышеперечисленные программы и запускаем Dropbear ssh, он сам скачает всё необходимое и запустит ssh сервер. После этого запускаем BusyBox Installer и идём в нём сразу в раздел Scripts. (Сам BusyBox устанавливать не надо). Запускаем скрипт Mount system r/w. Он запускается и выскакивает окошко прогресса, которое само не закрывается, не надо пугаться, скрипт уже отработал. Теперь надо утянуть с плеера файл /system/etc/permissions/platform.xml, для этого используем ssh:
# scp root@192.168.0.150:/system/etc/permissions/platform.xml .Не забудьте точку в конце, на запрос пароля вводим 42, это такой пароль по-умолчанию в DropBear. Адрес 192.168.0.150 — это у меня адрес медиаплеера, его DropBear SSH server показывает при запуске, вводите тот, что там написан.
Файл скачался, осталось его подредактировать любимым текстовым редактором
После строк
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />

Надо добавить строчку
<group gid="media_rw" />
После этого заливаем файл обратно:
# scp platform.xml root@192.168.0.150:/system/etc/permissions/platform.xmlНа запрос пароля опять вводим 42.

Перезагружаем медиаплеер и убеждаемся, что всё работает!

Shura

Вчера была задета честь FreeBSD с аргументом, что мол не умеет QinQ. Вот линукс умеет, а FreeBSD нет. Я не мог ударить в грязь лицом и посрамить славное имя фряхи, поэтому полез в Интернет за мануалами и хаутушками. На моё удивление таковых оказалось кот наплакал, причём большинство упоминаний QinQ во FreeBSD — просто сам факт того, что оно там есть, но как настраивать никто не пишет. Наконец в одной из рассылок попался пример от 2007 года, от корого я и начал плясать. К слову, сам пример в лоб не заработал, видимо с 2007 были какие-то изменения в коде netgraph. Итак, результаты моих изысканий:
Настройка QinQ во FreeBSD 9.0

Невозможно навесить сразу 2 тега на сетевой интерфейс с помощью netgraph, поэтому один тег (внешний) мы навесим с помощью штатной утилиты ifconfig, а вот второй, внутренний — с помощью netgraph.

1. Создаём вилан интерфейс (это будет SPVLAN, внешний):
ifconfig vlan1000 create
ifconfig vlan1000 vlan 1000 vlandev sk1

2. Магия netgraph для создания CVLAN (внутреннего):

ngctl mkpeer vlan1000: vlan lower downstream
ngctl name vlan1000:lower cvlan1
ngctl connect vlan1000: cvlan1: upper nomatch
ngctl mkpeer vlan1000: eiface vlan100 ether
ngctl msg cvlan1: addfilter '{ vlan=100 hook="vlan100" }'
# the same mac address as for parent interface vlan1000
ifconfig ngeth0 link 00:0d:88:6e:05:9c
ifconfig ngeth0 192.168.10.10 netmask 255.255.255.0
ifconfig vlan1000 192.168.10.10 netmask 255.255.255.0
ifconfig sk1 promisc

Запускаем снифер, смотрим — 2 тега!