суббота, 29 ноября 2014 г.

Samsung Galaxy Tab 3: MTP vs Debian Linux

Вопрос, как подружить под Линуксом планшет Samsung Galaxy Tab 3 и Linux стоял передо мной уже давно. Нет, планшет был виден, монтировался и вполне читался, однако ни записать, ни удалить что-либо было невозможно (сейчас посмотрел - удаляет, но, например, создать новую папку - not supported by camera protocol). В интернетах это объяснялось неполной поддержкой в Линуксе протокола MTP - изобретения Майкрософт. Преимущество этого протокола перед обычным подключением USB Mass Storage (по типу флешки) в том, что карта памяти не отключается от устройства на время подключения к компьютеру, а становится доступна сразу и там, и там.

Сегодня-таки решил заварить чаю и надолго засесть за решение этой проблемы. Одно из решений, собственно, где-то я уже видел, но оно требовало скачивать и устанавливать Android SDK весом 500 Мегабайт - игра не стоила свеч :)

Как обычно - наиболее толковая инструкция по MTP была на Arch Wiki:
https://wiki.archlinux.org/index.php/MTP

Там было несколько способов - мне понравился jmtpfs,  про него было написано: If you have a newer Android device that does not support UMS (USB Mass Storage) and you find mtpfs extremely slow or not working properly, you can install jmtpfs from the AUR.

Устройство действительно новая, да и скорости хочется - можно сразу ставить jmtps :)
В KDE работа mtp обеспечивается пакетом kio-mtp, так что не мешает поставить и его.
Итак:

#aptitude install kio-mtp mtp-tools jmtpfs

Дальше следуем Arch-инструкции:
  • First edit your /etc/fuse.conf and uncomment the following line:
user_allow_other

затем создаем папку для монтирования устройства:

#mkdir /mnt/galaxy; chmod 0777 /mnt/galaxy

Арчвики рекомендует монтировать так:

Use this commands to mount your device:
$ jmtpfs ~/mtp
And this command to unmount it:
$ fusermount -u ~/mtp

Можно монтировать полной командой:

jmtpfs -o allow_other /mnt/galaxy

При монтировании выдается ошибка: Unable to open ~/.mtpz-data for reading, MTPZ disabled. Однако, всё работает, думаю, можно не обращать на нее внимания.

Минус один повод перезагружаться в Винду :)

P.S. Как понятно из заголовка, я вернулся-таки на Дебиан, поставил Debian Jessie и очень доволен. Последней каплей стало то, что после последнего обновления KDE на Арче стал загружаться по две минуты, и сходу решить это я не смог, а разбираться с кучей таких досадных мелочей надоело. Дебиан всё-таки - наше всё )))

среда, 2 июля 2014 г.

Wvdial, Megafon modem и все-все-все

Если в Дебиане мой старенький Мегафон-модем еще как-то худо-бедно работал с помощью своей собственной программы, то в Арче программа модем тупо не видит - какая-то ошибка драйвера. А ковыряться лень.

К счастью есть старый добрый wvdial, который ест все модемы, какие только есть :)

Wvdial.conf у меня такой:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
ISDN = 0
Modem = /dev/ttyUSB0
Phone = *99#
Username = gdata
Password = gdata
Baud = 460800
Init3 = AT+CGDCONT=1,"IP","internet"
Модем создает аж три устройства /dev/ttyUSB[0-2], с /dev/ttyUSB0 всё прекрасно работает.

Но инициализируется он не сразу.
Сначала нужно запустить /usr/local/Mobile_Partner/driver/HWActivator
Можно переключить модем в режим модема и без него, в интернете есть инструкции, но раз уж у меня драйвер установлен, почему бы им и не воспользоваться.

В итоге нужно:
1. Воткнуть свисток
2. Запустить HWActivator
3. Подождать, пока модем переключится в режим модема
4. Запустить wvdial

wvdial с этим модемом почему-то делает паузу на 30 секунд перед подключением, что с этим делать - не понятно.

Тем не менее, тут явно напрашивается скрипт, верно? :)
Ну так вот, наконец, сегодня я его и сделал. Добавлены всякие проверки и прочее.

#!/bin/bash

if [ $(pgrep wvdial)>'0' ]
then
  echo "Wvdial is already running. Exit."
  exit 1
fi

# Make sure only root can run our script
if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root"
    exit 1
fi

# Check that HWActivator is running
if [ $(pgrep HWActivator)>'0' ]
then
  echo "HWActivator is running. Ok."
else
  echo "HWActivator is not running. Starting..."
  /usr/local/Mobile_Partner/driver/HWActivator
fi

# Wvdial section
echo "Waiting for Megafon modem..."

until [ -e /dev/ttyUSB0 ]
do sleep 3s;
done

echo Modem activated. Starting wvdial...
wvdial
exit 0;

Таймаут меньше трех секунд не срабатывает - устройство в /dev уже есть, но модем при подключении выдает ошибку.

Как-то так.

(Почему Network Manager не видит этого модема (в дебиане видел и опознавал как мобильник, подключался нормально) - тоже не очень понятно)

вторник, 17 июня 2014 г.

Гуманитарный Latex

В общем, таки да.
Я дозрел до написания работы (или может, для начала, переформатирования существующей) в LaTeX
Проект обещает быть интересным и доставить много плясок с разного размера бубнами, да.

Для начала я поставил весь latex в арче, что был в репозиториях, и для греческого, и для иврита, для всего.

Потом нужно было поставить PSCyr - пакет с поддержкой всяких таймсов - ариалов, долго с ним мучался, ключевой момент вот:

updmap --enable Map pscyr.map

без этого - не заработало.

правда, для начала pscyr.map нужно засунуть в нужное место (я его во многие распихал, сложно сказать, какое сработало), туда, где все .map файлы лежат, потому что установщик pscyr пихает его совсем не туда, куда надо.

Вот остался еще варнинг:

LaTeX Font Warning: Font shape `T2A/ftm/bx/sc' undefined
(Font) using `T2A/ftm/bx/n' instead on input line 23.

но с этим документ хотя бы компилится, что уже приятно.
Статья с похожим на нужное мне оформление - вот
http://habrahabr.ru/post/144648/