если Вы проникали в систему без разрешения, это практически готовый состав преступления безотносительно к намерениям; надо так представить, что Вы узнали об уязвимости случайно, но не воспользовались ею без разрешения владельца данных.
просите, чтобы с Вами связался представитель отдела экономической безопасности по поводу случайно найденной уязвимости в онлайн сервисе, которой Вы, конечно же, *не* воспользовались из опасений уголовного преследования
сужу с точки зрения производства программных продуктов; безусловно, хорошие продакты везде в дефиците, но если сравнивать Силиконовую долину и СНГ, согласитесь, концентрация явно не в пользу второго…
кстати, толковых ребят, у которых русский язык был родным, встречаю в инженерных вертикалях часто; правда, не менее часто еще один родной у них иврит :)
вот я об этом и говорю, что вместо фундаментального управленческого образования наша индустрия (слишком часто) питается самообразованием наиболее успешных технарей… и слишком часто перемешивает две роли.
Разработка продукта — это всегда торг: столько-то и за столько-то. И всегда компромисс: это делаем сейчас, это потом, а вот это — никогда. Ответ на эти вопросы знает только руководитель продукта ("продакт"), управленец по складу ума с техническим бэкграундом, а не технарь с управленческими навыками. Да, оценка трудоёмкости — определённо задача инженерной вертикали (лидов, мидлов, диров), так что по теме данной публикации авторитетным будет именно их мнение. Но проектирование продукта и увязка желаемого с достижимым — это задача продакта. Пословица бродит: какой продакт, такой и продукт.
В привычной мне вселенной технари развиваются в технических руководителей, но «продакты» — это другое (высшее) сословие. Да, между Инженерией и Продактами идёт постоянный диалог, но это два *разных* состояния ума. Вот только что посмотрел профиль одного своего продакта, так он был продактом всю свою карьеру… И именно этого состояния без специального образования достичь очень сложно.
Вам, коллега, я искренне желаю преуспеть в Вашем начинании, но позвольте провести черту между хорошим руководителем технарей и хорошим руководителем продукта: почувствуйте разницу и сделайте правильный выбор. См. также Agile, SCRUM и т.д.
IMHO инженеров толковых у нас много, а хороших руководителей продуктов (проектов) мало; система образования так построена была с советских времен, чтобы догнать и перегнать любой ценой. Не уверен, что стало лучше. А где черпать хороших управленцев для сложных разработок без соответствующего образования?
Т.е. нельзя сказать, что их совсем нет; их мало, и все в Яндексе (братцы, это шутка, конечно;-)
С анатомической точки зрения (в kill chain) это еще и отличная возможность насовать в «хорошие» веб сайты всяких iframe-редиректов на эксплойты и их связки (да и самих эксплойтов тоже можно насовать). Одно дело выпотрошить себе БД сервера, другое — отгрузить эксплойт (пробить уязвимость) почти каждому его посетителю. Риск посадить трояна на рабочий компьютер (даже внутри периметра) резко увеличился.
Братцы, убирайте Java-машины из браузеров пользователей (и у себя в первую очередь), а также все «любимые» плагины. Лучше портативная Java и/или отдельный браузер с Java, Flash и т.п. для работы с корпоративными бизнес-приложениями (которые вечно требуют какую-нибудь особо винтажную дырявую версию).
Сколько ж еще неоткрытых дырок в «проверенном годами» open source сидят…
проснувшийся RAT (Remote Access Trojan) часто использует HTTP в качестве транспорта, и на этом базируются несколько техник его выявления, использующих технологии DLP (Data-in-Motion), но (строго говоря) не являющиеся средствами предотвращения утечек; эти вещи (в теории) надо увязывать и с коррелятором событий типа SIEM
системы всевозможного мониторинга, например, файлового доступа (File Activity Monitoring, FAM), изначально не распознают содержимое того, к чему мониторят доступ, им нужен оператор-наводчик — система, которая скажет: вот за этой группой файлов надо «смотреть» пристально; всевозможные файловые помойки, куда бизнес беззаботно скидывает много интересного, требуют аудита, чистки и уничтожения (как мусорные корзины в офисе); это задачи DLP Data-at-Rest.
технологии DLP не серебряная пуля, но это полноправный член экосистемы информационной безопасности
к тому же, направленные атаки и нелояльные сотрудники друг другу совершенно не противоречат, а скорее, наоборот:)
Спасибо, вопросы правильные.
Я внёс правки в текст, посмотрите. Конечно, по «физике» передаётся ещё кое-что помимо данных, спустившихся по стеку, на то он и стек:) Там на трёх проводах и с помощью синхронихации разыгрывается «0», «1» и ещё несколько специальных символов-сигналов-состояний типа «начало пакета», «конец пакета», «холостой», «сброс», «спать», «проснуться» и т.д.
А что касается фрагментации, то максимальные размеры пакетов закрепляются стандартом, фактические — в процессе работы, транзакции на пакеты не разбиваются и всегда передаются целиком. Остальное решает хост, он может разбить передачу на несколько транзакций, чтобы уступить пропускную способность веб-камере, например.
Коллега, я Вас услышал, и вот моё резюме:
1) CDC могут работать как составные (composite) устройства, вывешивая на хост символьный интерфейс для команд и пакетный интерфейс для коммуникационных протоколов канального уровня типа Ethernet, PPP, работающий в крупноблочном (bulk) режиме. Это типовая реализация USB-свистков 3G/4G (там ещё Mass Storage с драйверами в нагрузку идёт).
2) В самой идее HID есть *готовые* абстракции для описания наборов сенсоров, датчиков, индикаторов и прочего. В CDC нет, это чистые коммуникации (дать сырой символьный или пакетный интерфейс хосту).
3) Моей HID-кофеварке бешеные потоки данных не нужны, и пересборка пакетов волнует не с точки зрения производительности (ARM и не поперхнётся). Обмен короткими (не bulk), бинарно-ориентированным структурами данных (пульты, датчики, сенсоры и прочее) потребует либо адаптации символьного интерфейса на пакетный режим (нежелательная пересборка), либо адаптации bulk transfer к коротким передачам определённого формата, укладываемым строго в виде сообщение-пакет, без разбивки/пересборки.
4) Вариант с использованием упомянутого канала bulk transfer в пакетном режиме для моей кофеварки интересен, но готового примера именно такой реализации для ARM Вы пока не предложили, упоминая только символьный протокол. Этот вопрос остаётся открытым.
5) На символьных протоколах работает невероятное количество всяких устройств, в основном, старых. Я хочу пакетной новизны, и у меня есть готовый и работающий (не под всеми платформами одинаково хорошо) пример кода с HID.
6) Получается, что от библиотек и middleware зависит почти всё. Есть и хорошие библиотеки для пакетных кодеков, и плохие для USB HID, и наоборот.
Так что если хорошего примера кода с библиотекой по п. 4 нет, давайте просто не будем мусолить тему по кругу:)
там простой символьный протокол, по USB так не сделаешь
Я имел в виду, что с ИБП Smart UPS SUA750I работать через виртуальный COM-порт по USB не получается. По USB он фигачит именно HID-пакеты (GET_REPORT / SET_REPORT). Но нужна библиотека для работы с этим хозяйством, устройство которой изначально *кажется* сложнее, чем пакетный кодек для простого потока.
Откуда ж он туда залетит-то?
Так от меня и залетит (ха-ха, каламбур), если ошибусь при сборке велосипеда или библиотеку выберу глючную. Счётчик цикла отработал на одну итерацию больше, и всё, съехали пакеты. Канал потерян, срочно сброс и синхронизация заново.
Надо же, и анатомия вторжения хороша, и вендоров перечислили великое множество, а об автоматических способах предотвращения кражи (или хотя бы выявления утечек) данных (Data Theft / Leakage Prevention) ни слова. Одни досы, ботнеты, да эксплойты. А про обратный поток информации (выход из сети) почему-то думают в последнюю очередь.
Вредоносный код снаружи внутрь посадят в любом случае, несмотря ни на какие модные NGFW и песочницы, можно только повысить входной порог со школьного до профессионального (от государственного уже не спастись).
Бороться приходится скорее с коллегами из отдела эксплуатации, которые всю парадигму безопасности описывают словами «веб-фильтр с антивирусом». Когда надо переслать данные из точки А в точку Б, безопасность мешает, и лучше продлить поддержку на Microsoft TMG до 2050 года…
не нужно писать сложных вещей с libusb (а то и вообще извращаться и модули ядра калякать)
Тут согласен, под некоторыми платформамми поддержка HID хромает, и я сам в этом убедился. Наш инженерный ян говорит: «используй то, что работает». Инь не остаёт: «найди новый, более эффективный способ сделать привычные вещи». Диалектика:)
Не надо использовать HID в областях, для которых он явно не предназначен!
The USB HID class specifications allow for myriad other devices under the USB HID class. Some examples are automobile simulation controllers, exercise machines, telephony devices, thermometers, audio controls and medical instrumentation. Even uninterruptible power supplies and software protection dongles declare themselves under this class, despite the fact they often have no human interface at all. Any device can be a USB HID class device as long as a designer meets the USB HID class logical specifications. This is not to say that there is no need to ship drivers for these devices, nor that an operating system will immediately recognize the device. This only means that the device can declare itself under the human interface device class.
Пример ИБП показателен, я сам подключал SUA750I двумя шнурками и смотрел разницу. Вручную можно работать только по RS232 терминалкой, там простой символьный протокол, по USB так не сделаешь. Но очень страшно нажать не на тот символ, тогда можно вывести прибор из строя. Я к тому, что библиотека должна иметь исключительную надёжность в плане синхронизации символьного потока и сообщений: любой лишний, случайно залетевший байт — и привет, разбор устройства и перепрошивка программатором. Для APC Smart UPS такую библиотеку сделали, это радует. Но для новых устройств получается habrahabr.ru/post/208026/#comment_7164070
Communications Device Class — интересный вариант, но главное — не закончить банальным эмулятором последовательного порта, как намекает википедия (это вырвано из контекста; лучше читать статью полностью):
This class can be used for industrial equipment such as CNC machinery to allow upgrading from older RS-232 serial controllers and robotics, since they can keep software compatibility. The device attaches to an RS-232 communications line and the operating system on the USB side makes the USB device appear as a traditional RS-232 port.
Как я понял, с CDC можно работать и в пакетном режиме, это уже интереснее. А если Вы принесете нам сюда примеры проектов для ARM (только проверенные), будет вообще замечательно, можно и врезку сделать в публикацию.
HID нужен лишь если хочется эмулировать какое-нибудь стандартное устройство (скажем, клаву или мышу).
а ключевые термины из другой области («канальный уровень», «кадр») я как раз явно старался обходить сам и расставлять флажки читателям; неужели не получилось?
Продолжение истории: покупка б/у ИБП для некритичной инфраструктуры mini-HOWTO.
Я недавно столкнулся с похожей задачей: купить, наконец, ИБП для не очень критичного NAS :)
Исходил из того, что:
Брендовые изделия качественные, и кроме батареи в них особо ничего не изнашивается («надежность»; поправьте, если не так).
ИБП для рабочих станций на 700кВА — страшный неликвид, от которого любой бизнес будет только рад избавиться («дешевизна»).
Изделия APC очень распространены и довольно неплохо изучены community, уж чего только с ними не делали («поддержка»).
Нагрузка у меня как раз где-то 300-350Вт. Новый APC SUA750I (500Вт) по Яндекс.Маркет стоит порядка 12,000руб. Но на avito.ru нашел много предложений б/у за 1000-1500 руб. (причём продавец в итоге нашёлся чуть ли не в соседнем доме), плюс две новых «неродных» батареи по 1050руб. (в магазине, в другом соседнем доме). Т.е. всё за четверть цены, да ещё и в шаговой доступности. Из пары переходников DB9-RJ45 (каждый по €1) и обычного патч-корда Ethernet собрал изделие #940-0024C (это кабель RS-232 Smart Signalling), а бесплатной утилитой откалибровал ИБП на новую батарею. Нашлись и нюансы: сам APC ИБП при калибровке батарейную константу может только уменьшать, поэтому её надо сперва открутить вверх. Упомянутая тулза, которая это делает, работает только по RS232. Заодно я вдоволь наигрался ручными командами (они проходят только по RS-232, и требуется особая осторожность!): поменял дату установки батареи без всяких парашютов. Отличное развлечение, при «программировании» ИБП забавно тикает. Правда, потом нашел невесть откуда взявшийся шнурок USB (чёрный, в тон ИБП) и решил сравнить возможности драйверов NUTapcsmart и usbhid-ups (раз уж взялся). Действительно, один и тот же ИБП имеет разные функции в зависимости от драйвера. Остановился в итоге на варианте USB, который умеет показания тока снимать, а переходники для #940-0024C отправились в «бардачок». Мало ли чего…
Итог: если тема актуальна, нагрузка невелика, риски умеренные (некритичная инфраструктура), рекомендую поискать б/у изделия хороших брендов с отработавшими батареями, которые сразу заменить на новые качественные, но неродные. На avito.ru предложений по SUA750I было несколько штук, некоторые партиями. Батареи под них найти не проблема (поиск: «калибровка батареи smart ups», ну или каталог замен на сайте akbprom.ru). Только убедитесь, что с ИБП вам отдают старую батарею или все провода от неё: например, батарейный картридж для SUA750I имеет фирменный разъём питания, а также перемычку с флажковым предохранителем на 60А (если что, есть в автомобильных магазинах, номинал на 60А обычно цвета морской волны). Это всё хозяйство нужно снять со старой батареи и одеть на новую, хотя можно и паяльником (старенькая модель ИБП APC, кстати, тоже тут разобрана.). Я уже сделал несколько попупок б/у железа через авито и пока доволен, народ вполне адекватный, такие же айтишники:). Желаю удачи и простите за оффтоп.
Спасибо за пост. Наткнулся на него случайно, изучая вопросы программирования USB на МК (у меня STM32). Хочу прикрутить к FreeNAS сенсор-драйвер вентиляторов как HID устройство, но, как оказалось, поддержка HID во FreeBSD хромает. Похоже на то, что uhid(4) корректно работает только с одним набором и контрольным Endpoint 0 (не уверен на 100%, надо код изучать, долго). ИБП APC по USB ядром FreeBSD как hid-устройство вообще не определяется, а упомянутый NUT использует ugen(4), это на один уровень ниже по стеку. Возиться на уровне ОС не хочется (скучно, к тому же FreeNAS вообще встраиваемая система), поэтому я пока решил попробовать адаптировать STMовский пример CustomHID из библиотеки STM32 USB full speed device library (UM0424). Кстати, этот пример неплохо разобран тут на хабре. Запустить эту штуку удалось, даже появилось устройство uhid0, но считать из него хоть что-нибудь командой usbhidctl(1) оказалось невозможно: выдаёт «Device not configured», перехват по USB показывает обмен со статусом STALL (который, похоже, вывешивается на Endpoint 0 и висит там). При этом запись (моргание диодом) работает, только не совсем понятно, через SET_FEATURE или ещё как. Не разобрался пока, поэтому пост не пишу:)
Вывод: в реальных условиях приходится работать с платформами, где поддержка столь удобной для всевозможных МК-датчиков абстракции USB HID может хромать, причём без видимых перспектив развития (ну кому может понадобиться джойстик под FreeBSD? в этих краях и мышь-то нечасто встретишь). Одно дело из-под Windows мигать диодиком, другое — реальная задача… Но это не умаляет заслуг авторов постов про мигание диодиками, и я им всем благодарен.
товар экзотический, объём очень малый, спросом не пользуется (потому что не так мало людей грузят систему с флэшек, и ещё меньше понимает разницу между SLC и MLC)
кстати, толковых ребят, у которых русский язык был родным, встречаю в инженерных вертикалях часто; правда, не менее часто еще один родной у них иврит :)
Разработка продукта — это всегда торг: столько-то и за столько-то. И всегда компромисс: это делаем сейчас, это потом, а вот это — никогда. Ответ на эти вопросы знает только руководитель продукта ("продакт"), управленец по складу ума с техническим бэкграундом, а не технарь с управленческими навыками. Да, оценка трудоёмкости — определённо задача инженерной вертикали (лидов, мидлов, диров), так что по теме данной публикации авторитетным будет именно их мнение. Но проектирование продукта и увязка желаемого с достижимым — это задача продакта. Пословица бродит: какой продакт, такой и продукт.
В привычной мне вселенной технари развиваются в технических руководителей, но «продакты» — это другое (высшее) сословие. Да, между Инженерией и Продактами идёт постоянный диалог, но это два *разных* состояния ума. Вот только что посмотрел профиль одного своего продакта, так он был продактом всю свою карьеру… И именно этого состояния без специального образования достичь очень сложно.
Вам, коллега, я искренне желаю преуспеть в Вашем начинании, но позвольте провести черту между хорошим руководителем технарей и хорошим руководителем продукта: почувствуйте разницу и сделайте правильный выбор. См. также Agile, SCRUM и т.д.
Т.е. нельзя сказать, что их совсем нет; их мало, и все в Яндексе (братцы, это шутка, конечно;-)
Братцы, убирайте Java-машины из браузеров пользователей (и у себя в первую очередь), а также все «любимые» плагины. Лучше портативная Java и/или отдельный браузер с Java, Flash и т.п. для работы с корпоративными бизнес-приложениями (которые вечно требуют какую-нибудь особо винтажную дырявую версию).
Сколько ж еще неоткрытых дырок в «проверенном годами» open source сидят…
системы всевозможного мониторинга, например, файлового доступа (File Activity Monitoring, FAM), изначально не распознают содержимое того, к чему мониторят доступ, им нужен оператор-наводчик — система, которая скажет: вот за этой группой файлов надо «смотреть» пристально; всевозможные файловые помойки, куда бизнес беззаботно скидывает много интересного, требуют аудита, чистки и уничтожения (как мусорные корзины в офисе); это задачи DLP Data-at-Rest.
технологии DLP не серебряная пуля, но это полноправный член экосистемы информационной безопасности
к тому же, направленные атаки и нелояльные сотрудники друг другу совершенно не противоречат, а скорее, наоборот:)
Если угодно, добавил ссылку на книжку, все элетричество разобрано, ничего не выдумываю:)
Я внёс правки в текст, посмотрите. Конечно, по «физике» передаётся ещё кое-что помимо данных, спустившихся по стеку, на то он и стек:) Там на трёх проводах и с помощью синхронихации разыгрывается «0», «1» и ещё несколько специальных символов-сигналов-состояний типа «начало пакета», «конец пакета», «холостой», «сброс», «спать», «проснуться» и т.д.
А что касается фрагментации, то максимальные размеры пакетов закрепляются стандартом, фактические — в процессе работы, транзакции на пакеты не разбиваются и всегда передаются целиком. Остальное решает хост, он может разбить передачу на несколько транзакций, чтобы уступить пропускную способность веб-камере, например.
1) CDC могут работать как составные (composite) устройства, вывешивая на хост символьный интерфейс для команд и пакетный интерфейс для коммуникационных протоколов канального уровня типа Ethernet, PPP, работающий в крупноблочном (bulk) режиме. Это типовая реализация USB-свистков 3G/4G (там ещё Mass Storage с драйверами в нагрузку идёт).
2) В самой идее HID есть *готовые* абстракции для описания наборов сенсоров, датчиков, индикаторов и прочего. В CDC нет, это чистые коммуникации (дать сырой символьный или пакетный интерфейс хосту).
3) Моей HID-кофеварке бешеные потоки данных не нужны, и пересборка пакетов волнует не с точки зрения производительности (ARM и не поперхнётся). Обмен короткими (не bulk), бинарно-ориентированным структурами данных (пульты, датчики, сенсоры и прочее) потребует либо адаптации символьного интерфейса на пакетный режим (нежелательная пересборка), либо адаптации bulk transfer к коротким передачам определённого формата, укладываемым строго в виде сообщение-пакет, без разбивки/пересборки.
4) Вариант с использованием упомянутого канала bulk transfer в пакетном режиме для моей кофеварки интересен, но готового примера именно такой реализации для ARM Вы пока не предложили, упоминая только символьный протокол. Этот вопрос остаётся открытым.
5) На символьных протоколах работает невероятное количество всяких устройств, в основном, старых. Я хочу пакетной новизны, и у меня есть готовый и работающий (не под всеми платформами одинаково хорошо) пример кода с HID.
6) Получается, что от библиотек и middleware зависит почти всё. Есть и хорошие библиотеки для пакетных кодеков, и плохие для USB HID, и наоборот.
Так что если хорошего примера кода с библиотекой по п. 4 нет, давайте просто не будем мусолить тему по кругу:)
Я имел в виду, что с ИБП Smart UPS SUA750I работать через виртуальный COM-порт по USB не получается. По USB он фигачит именно HID-пакеты (GET_REPORT / SET_REPORT). Но нужна библиотека для работы с этим хозяйством, устройство которой изначально *кажется* сложнее, чем пакетный кодек для простого потока.
Так от меня и залетит (ха-ха, каламбур), если ошибусь при сборке велосипеда или библиотеку выберу глючную. Счётчик цикла отработал на одну итерацию больше, и всё, съехали пакеты. Канал потерян, срочно сброс и синхронизация заново.
Вредоносный код снаружи внутрь посадят в любом случае, несмотря ни на какие модные NGFW и песочницы, можно только повысить входной порог со школьного до профессионального (от государственного уже не спастись).
Бороться приходится скорее с коллегами из отдела эксплуатации, которые всю парадигму безопасности описывают словами «веб-фильтр с антивирусом». Когда надо переслать данные из точки А в точку Б, безопасность мешает, и лучше продлить поддержку на Microsoft TMG до 2050 года…
habrahabr.ru/post/208026/#comment_7164068
habrahabr.ru/post/208026/#comment_7164070
habrahabr.ru/post/208026/#comment_7164386
habrahabr.ru/post/208026/#comment_7164290
habrahabr.ru/post/208026/#comment_7163744
Тут согласен, под некоторыми платформамми поддержка HID хромает, и я сам в этом убедился. Наш инженерный ян говорит: «используй то, что работает». Инь не остаёт: «найди новый, более эффективный способ сделать привычные вещи». Диалектика:)
en.wikipedia.org/wiki/USB_human_interface_device_class#Other_devices
Пример ИБП показателен, я сам подключал SUA750I двумя шнурками и смотрел разницу. Вручную можно работать только по RS232 терминалкой, там простой символьный протокол, по USB так не сделаешь. Но очень страшно нажать не на тот символ, тогда можно вывести прибор из строя. Я к тому, что библиотека должна иметь исключительную надёжность в плане синхронизации символьного потока и сообщений: любой лишний, случайно залетевший байт — и привет, разбор устройства и перепрошивка программатором. Для APC Smart UPS такую библиотеку сделали, это радует. Но для новых устройств получается habrahabr.ru/post/208026/#comment_7164070
Как я понял, с CDC можно работать и в пакетном режиме, это уже интереснее. А если Вы принесете нам сюда примеры проектов для ARM (только проверенные), будет вообще замечательно, можно и врезку сделать в публикацию.
Да бросьте:) А как Вам вот эта клавиатура с мышью?
Вы кофе любите пить? Попробуйте скачать HID Descriptor Tool и собрать на нём интерфейс описанной мною гипотетической HID-кофеварки:)
а ключевые термины из другой области («канальный уровень», «кадр») я как раз явно старался обходить сам и расставлять флажки читателям; неужели не получилось?
Я недавно столкнулся с похожей задачей: купить, наконец, ИБП для не очень критичного NAS :)
Исходил из того, что:
Нагрузка у меня как раз где-то 300-350Вт. Новый APC SUA750I (500Вт) по Яндекс.Маркет стоит порядка 12,000руб. Но на avito.ru нашел много предложений б/у за 1000-1500 руб. (причём продавец в итоге нашёлся чуть ли не в соседнем доме), плюс две новых «неродных» батареи по 1050руб. (в магазине, в другом соседнем доме). Т.е. всё за четверть цены, да ещё и в шаговой доступности. Из пары переходников DB9-RJ45 (каждый по €1) и обычного патч-корда Ethernet собрал изделие #940-0024C (это кабель RS-232 Smart Signalling), а бесплатной утилитой откалибровал ИБП на новую батарею. Нашлись и нюансы: сам APC ИБП при калибровке батарейную константу может только уменьшать, поэтому её надо сперва открутить вверх. Упомянутая тулза, которая это делает, работает только по RS232. Заодно я вдоволь наигрался ручными командами (они проходят только по RS-232, и требуется особая осторожность!): поменял дату установки батареи без всяких парашютов. Отличное развлечение, при «программировании» ИБП забавно тикает. Правда, потом нашел невесть откуда взявшийся шнурок USB (чёрный, в тон ИБП) и решил сравнить возможности драйверов NUT
apcsmart
иusbhid-ups
(раз уж взялся). Действительно, один и тот же ИБП имеет разные функции в зависимости от драйвера. Остановился в итоге на варианте USB, который умеет показания тока снимать, а переходники для #940-0024C отправились в «бардачок». Мало ли чего…Итог: если тема актуальна, нагрузка невелика, риски умеренные (некритичная инфраструктура), рекомендую поискать б/у изделия хороших брендов с отработавшими батареями, которые сразу заменить на новые качественные, но неродные. На avito.ru предложений по SUA750I было несколько штук, некоторые партиями. Батареи под них найти не проблема (поиск: «калибровка батареи smart ups», ну или каталог замен на сайте akbprom.ru). Только убедитесь, что с ИБП вам отдают старую батарею или все провода от неё: например, батарейный картридж для SUA750I имеет фирменный разъём питания, а также перемычку с флажковым предохранителем на 60А (если что, есть в автомобильных магазинах, номинал на 60А обычно цвета морской волны). Это всё хозяйство нужно снять со старой батареи и одеть на новую, хотя можно и паяльником (старенькая модель ИБП APC, кстати, тоже тут разобрана.). Я уже сделал несколько попупок б/у железа через авито и пока доволен, народ вполне адекватный, такие же айтишники:). Желаю удачи и простите за оффтоп.
Вывод: в реальных условиях приходится работать с платформами, где поддержка столь удобной для всевозможных МК-датчиков абстракции USB HID может хромать, причём без видимых перспектив развития (ну кому может понадобиться джойстик под FreeBSD? в этих краях и мышь-то нечасто встретишь). Одно дело из-под Windows мигать диодиком, другое — реальная задача… Но это не умаляет заслуг авторов постов про мигание диодиками, и я им всем благодарен.
Но это не вся моя история:)
товар экзотический, объём очень малый, спросом не пользуется (потому что не так мало людей грузят систему с флэшек, и ещё меньше понимает разницу между SLC и MLC)