И это всё МОЁ

Всем добра.

Ситуация такая.
Есть сабжевая плата. На ней висит сервер. Все работает нормально.
Но достает одно. В soc v40/r40 есть rtc, но батарейки нет и соответственно толку с него только при перезагрузке. По i2c прикрутил ds1307. Нарисовал overlay. Поцепился как /dev/rtc1.
hwclock работает нормально.

root@nas:/mnt/nas/work/dtb/dtb# hwclock -r -f /dev/rtc
2019-08-26 20:11:57.687139+0300

Через udev сделал его /dev/rtc.
SUBSYSTEM=="rtc", KERNEL=="rtc1", SYMLINK+="rtc", OPTIONS+="link_priority=-100"

Но как и ожидалось при загрузке система синхронизируется в rtc от soc и кладет на ds1307.
Aug 26 15:17:07 nas kernel: [    2.684768] sun6i-rtc 1c20400.rtc: registered as rtc0
Aug 26 15:17:07 nas kernel: [ 2.684775] sun6i-rtc 1c20400.rtc: RTC enabled
--------
Aug 26 15:17:07 nas kernel: [ 3.308375] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01T00:0
0:11 UTC (11)
--------
Aug 26 15:17:07 nas kernel: [ 4.358985] rtc-ds1307 3-0068: registered as rtc1

Как вообще отрубить внутренний sun6i-rtc 1c20400.rtc?
Наколхозил вот такой dts:
/dts-v1/;
/plugin/;


/ {
compatible = "allwinner,sun8i-r40-rtc", "allwinner,sun8i-h3-rtc";

/* <rtc@1c20400>; */

fragment@0 {
target-path = "/aliases";
__overlay__ {
rtc = "/soc@1c00000/rtc@1c20400";
};
};

fragment@1 {
target = <&rtc>;
__overlay__ {
status = "disabled";
};
};

};

Не помогает. Может я здесь чего накосячил?
Кто силен в armовых делах. Ткните как решить проблему.
Неужели никто не имел дело с v40?








 , ,








И это всё МОЁ

Всем привет.
Разбираюсь с настройкой ejabberd сервера. На данный момент в компании используем openfire server, но у него есть некоторые траблы с работой андройд клиента Xabber.
Есть несколько вопросов:
1. Как посмотреть историю переписки личных чатов в веб морде или как ее експортировать в удобно-читаемый файл? Переписка хранится в mysql.
2. Как правильно настроить историю переписки в конференц комнатах, чтобы хранилась в mysql и как ее удобно тоже читать/вытаскивать?
3. Возможно ли вытаскивать пароли пользователей, которые хранятся в mysql в зашифрованном виде?
4. Насколько я понимаю, конференц комнаты можно создавать только на клиенте, в веб морде нельзя?

Глобально всё в конфиге настроено на хранение в mysql:
default_db: sql
auth_method: sql
sql_type: mysql

На openfire все это можно и удобно, а вот на ejabbrd не нахожу.
Подскажите, кто знает пожалуйста, как это всё настроить.
Спасибо.








 ,








И это всё МОЁ

Чтобы запустить на компьютере какое-либо приложение, нужно открыть меню, потом выбрать раздел, подраздел и так далее, раз за разом кликая мышью. Поиск файлов встроенными средствами Linux вызывает еще больше сложностей и требует много времени. Избавиться от лишних телодвижений и значительно ускорить работу поможет лаунчер — специальная программа для работы с системой. Лаунчеры бывают разными по дизайну и набору функций, что позволяет им удовлетворить вкус любого пользователя. Многие из них имеют открытый исходный код — это делает возможным внесение правок, которые приблизят программу к личному идеалу. Лучшие лаунчеры для Linux Существует множество лаунчеров, отличающихся по функционалу и дизайну — от навороченных


Запись Лучшие лаунчеры для Linux впервые появилась Losst.






@темы: Обзоры

И это всё МОЁ

Всем привет.

Нужно нарисовать QR-код, под андройдом. Апп на Qt Widget, не спрашивайте почему. Для QR кодов использую эту либу. В общем хочу сгенерировать QPixmap и кинуть его в QLabel:

void FormQR::paintQR(QPainter &painter, const QSize sz, const QString &data, QColor fg) {
// NOTE: At this point you will use the API to get the encoding and format you want, instead of my hardcoded stuff:
qrcodegen::QrCode qr = qrcodegen::QrCode::encodeText(data.toUtf8().constData(), qrcodegen::QrCode::Ecc::LOW);
const int s=qr.getSize()>0?qr.getSize():1;
const double w=sz.width();
const double h=sz.height();
const double aspect=w/h;
const double size=((aspect>1.0)?h:w);
const double scale=size/(s+2);
// NOTE: For performance reasons my implementation only draws the foreground parts in supplied color.
// It expects background to be prepared already (in white or whatever is preferred).
painter.setPen(Qt::NoPen);
painter.setBrush(fg);
for(int y=0; y<s; y++) {
for(int x=0; x<s; x++) {
const int color=1; //qr.getModule(x, y); // 0 for white, 1 for black
if(0!=color) {
const double rx1=(x+1)*scale, ry1=(y+1)*scale;
QRectF r(rx1, ry1, scale, scale);
painter.drawRects(&r,1);
}
}
}
QPixmap *pix = new QPixmap(sz.width(), sz.height());
painter.drawPixmap(0, 0, *pix);
painter.end();
ui->label_qr->setPixmap(*pix);
}

void FormQR::updateQRImage()
{
QPixmap *pix = new QPixmap(QSize(200,200));
QPainter *painter = new QPainter(pix);
QSize sz = QSize(200, 200);
paintQR(*painter, sz, tr("Test";), QColor::fromRgb(Qt::red));
}

Помогите плиз понять, что не так?








 ,








И это всё МОЁ

1.) Как запустить qemu-x86_64-static на arm android через обычный эмулятор терминала, используя proot для попадания в окружение с чужой архитектурой (x86_64), без всяких Linux deploy/termux.

2.) Эмулируется там ядро или нет? У меня почему-то все попытки запуска user mode в linux deploy/ubt привели с ошибке сегментации 11 (через chroot), через proot писало что не работает вызов ptrace две строки и 2 id, и я думаю что это всё из-за ядра. Если из-за него, как заставить qemu его эмулировать?








 , , , ,








И это всё МОЁ

Чем протирать контакты (например - оперативная память)?

Чем и как чистить контакты от окисления?








 ,








И это всё МОЁ

Шалом.
Как известно, __init__ не возвращает ничего, кроме None, поэтому использую __new__, дабы возвращать при инициализации экземпляра _io.TextIOWrapper. После отработки сборщик мусора почему-то не закрывает файл, даже при явно прописанном del myfile.

class file:
def __new__(self, filename):
self.openfile = open(filename, 'r')
return self.openfile

def __del__(self):
print('File', filename, ' closes.')
self.openfile.close()

def read(filename):
for filestr in filename:
print(filestr)

myfile = file(r'/etc/rc.conf')
print(type(myfile))
file.read(myfile)
del myfile


Подскажите, пожалуйста, почему так происходит? Есть другой пример с __init__, в котором всё отрабатывает как надо:

# class
class Awesome:

# the init method
def __init__(self, filename):

print("Inside the __init__ method.";)

# open file
self.fobj = open(filename, "w";)

# method
def writeContent(self, data):

print("Inside the writeContent method.";)

# write the data
self.fobj.write(data)

# the del method
def __del__(self):

print("Inside the __del__ method.";)

# close file
self.fobj.close()

# object
obj = Awesome("helloworld.txt";)
obj.writeContent("Hello World";)








 ,








И это всё МОЁ

Был старый HDD от ноута, купил переходник на юсб 3,0 и поставил на него линукс. Задача состояла в том, чтобы не засорять внутренний ЖД ноута и когда нужно, включать внешний ЖД и запускаться с линукса. Сначала была проблема с бутом, после одного раза вытаскивания с юсб бут линукса пропадал навсегда, биос намертво не видел его. Решил проблему тем, что поставил бут на внутренний, линукс и свап на внешний. Поставил себе Pop OS и после примерно 5 минут может больше диск прекращает крутится. Думаю что линукс через какое то время отключает питание юсб. Как с этим боротся и вообще какие советы по поводу линукса на внешнем жд?








 , ,








И это всё МОЁ

Wifi адаптеры видны:


root@porteus:/home/guest# iwconfig

eth0 no wireless extensions.

wlan1 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off

lo no wireless extensions.

wlan2 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off

И даже сетки они видят:


root@porteus:/home/guest# iwlist wlan1 scan|grep -i essid

ESSID:«sweet_home»

ESSID:«TP-LINK_4F5642»

ESSID:«Keenetic-0050»

ESSID:«Daniel»

ESSID:«Pifagor_2016»

ESSID:«ml448»

ESSID:«TP-Link_5590»

ESSID:«ZyXEL_kat»

ESSID:«Ne»

ESSID:«Redmi»

Сгенерил .conf файл для своей сети, но когда запустил wpa_supplicant, то он просто тупо завис, и так на обоих адаптерах:

root@porteus:/home/guest# wpa_supplicant -i wlan2 -c /mnt/sdb1/dump/sweet_home.conf

Successfully initialized wpa_supplicant

^Cnl80211: deinit ifname=wlan2 disabled_11b_rates=0
wlan2: CTRL-EVENT-TERMINATING

root@porteus:/home/guest# wpa_supplicant -i wlan1 -c /mnt/sdb1/dump/sweet_home.conf

Successfully initialized wpa_supplicant

Что я делаю неправильно? И как вообще его заставить коннектиться к wifi? Если что - версия MATE вполне себе нормально цеплялась на этом же ноуте с этими же адаптерами.








 , ,








И это всё МОЁ

Доброго времени суток!

Стоит задача сделать в небольшом офисе шару для файлов. Подскажите на чем сделать на FileZilla server (например) или SAMBA, либо может есть иные интересные варианты.
В качестве сервера CentOS 7.
клиенты на linux и windows.
Спасибо за участие и за советы!








 ,








И это всё МОЁ

Привет, ЛОР. Это своего рода посоветуй плагин-костыль тред, потому что нагуглить у меня самому не получилось. Мне очень нравится поведение Safari, когда при тонне открытых вкладок можно сделать жест и увидеть все их в виде плиток (так сильно проще найти то, что нужно, чем скроллить вертикальный список, на который не шибко много чего влезает). Вопрос: Есть ли возможность сделать так же на Firefox? Либо любой другой подход, который сделает поиск вкладки менее болезненным процессом. Заранее спасибо.








 , , , ,








И это всё МОЁ

Кто знает, как запустить ubuntu arm без всяких termux или Linux deploy

Я пробовал установить proot, версию для ubuntu trusty arm64, поместил в /system/bin, но мне пишет /system/bin/proot not found. Что это значит? Бинарник не работает на андроиде? Где достать работающий?








 , , ,








И это всё МОЁ

Коротко пишем кто что интересное сейчас изучает, технологии, языки или что-то не связанное с IT. Попытайтесь вместить в классические 140 символов.









 ,








И это всё МОЁ

Понемногу подгоняю под себя конфиг ядра и вот возник вопрос, а почему не работает.

Задача управлять подсветкой клавиатуры ноута:

dbus-send --system --type=method_call --dest=«org.freedesktop.UPower» «/org/freedesktop/UPower/KbdBacklight» «org.freedesktop.UPower.KbdBacklight.SetBrightness» int32:$1

Работать должно, но не работает, dbus и upower стоят.

Может что то в ядре надо подрубить? В какую сторону копать?








 , , , ,








И это всё МОЁ

... корпус по внешнему виду похожий до степени смешения на корпуса рабочих станций от SGI.

Интересует Indy, O2, Octane 2, 540 Visual Workstation.

Кто встречал, где видел, как купить?








 ,








И это всё МОЁ

Сразу прошу прощения за оффтоп, и т.к. это оффтоп, решил занести в Talks.
Вопрос не флейма ради, просьба советовать по существу.

Я java разработчик, и меня чуть более, чем полностью, устраивает онтопик, но есть одна проблема - на работе основные каналы связи MS специфичные (S4b, Teams). На работе опций кроме Винды нет, дома очень неудобно контактировать с онтопика - пришёл к выводу, что пора брать *nix «с человеческим лицом».


Теперь по существу.


Требуется:



  • Core i5/i7

  • 16GB RAM

  • 512 GB+ SSD

  • видеокарта не важна


Основные консёрны:



  • слышал, что у более-менее свежих pro-шек дико неудобный тачбар - это правда?

  • слышал, что у тех же прошек качество клавиатуры оставляет желать лучшего, любят вываливаться клавиши - это тоже правда?


Основные вопросы:



  • исходя из вполне стандартных хотелок разработчика, есть советы по выбору конкретной модели?

  • т.к. ни разу не покупал сабж, хочется понять, у каких вендоров лучше брать?

  • на что обращать внимание при покупке, чтобы не стать обладателем «серой» поделки?

  • как у эпла с гарантией/починябельностью?


Ещё раз прошу прощения за оффтоп, ещё раз прошу дельных советов.

Спасибо.









 , , ,








И это всё МОЁ

доброе утро есть сервер дебиан на нем 2 сетевые карты одна 192.168.0.114 смотрит в интернет вторая 192.168.1.1 смотрит в сеть нужно чтобы пользователи с сети 192.168.1.0 выходили в интернет настроил dhcp

( читать дальше... )


и настроил iptables

( читать дальше... )


пинг идет на 8.8.8.8 и на 8.8.4.4 и по сети, но не заходит вообще никуда








 ,








И это всё МОЁ

Всех приветствую.

Я нашел баг в GCC!!! (хотел засунуть в заголовок, но жалко скора)

В общем, я перестал понимать как работают битовые поля в Си.
Вот пример. Есть байтовый массив:

uint8_t b[] = {0x32, 0x1A, 0x01, 0xE6,  0x24, 0x00, 0x22, 0x48 };

натягиваем вот такую структуру на этот массив:

#pragma pack (push, 1)
typedef struct obj_control_502_s
{
unsigned object_id: 8;
unsigned object_length: 7;
unsigned heading: 11;
unsigned speed_abs: 11;
unsigned y_point1: 13;
unsigned x_point1: 13;
unsigned mode_signal1: 1;
obj_control_502_t;
#pragma pack (pop)

obj_control_502_t *c502 = (obj_control_502_t *)b;


Я делаю смелое предположение, что структурка будет плотноупакованной.
И нужные мне поля соберутся из нужных мне бит.

Вывожу все это на экран:

printf("ID: %X, LEN: %X, H: %X, SPD: %X, Y: %X, X: %X, mode: %X\n",
c502->object_id,
c502->object_length ,
c502->heading,
c502->speed_abs,
c502->y_point1,
c502->x_point1,
c502->mode_signal1
);

У меня выводится:

32 1A 01 E6 24 00 22 48

ID: 32, LEN: 1A, H: 402, SPD: 139, Y: 1001, X: 1208, mode: 0

И это очевидно неверно!!!

Должно быть: ID: 32, LEN: D, H: 7, SPD: 4C4, Y: 1000, X: 1124, mode: 0

Кто сможет объяснить результат?








 , ,








И это всё МОЁ

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

Иногда приходится объяснять элементарные вещи о фичах ЯП, прямо таки разжевывать, и вообще некоторые очевидные вещи приходится разжевывать, как для грудничка. Ну, типа того, что коммит мессeдж «fix» неудачный, потому что неинформативный.

Это нормально, что джуны иногда кажутся тупыми?
Как вы сохраняете спокойствие в таких ситуациях, когда они тупят?








 ,








И это всё МОЁ

Имеется вот такой файл

blablabla
{
text:text
text:text
},
sdddfdfss
{
text:text
text:text
},
ewwaafyyyt
{
text:text
text:text
}
eeeweqexex

Необходимо оставить только то, что в фигурных скобках включая сами скобки, и запятые

{
text:text
text:text
},
{
text:text
text:text
},
{
text:text
text:text
}