Я пытаюсь создать программную симуляцию на машине с Ubuntu GNU / Linux, которая будет работать как PPPoE.Я хотел бы, чтобы этот симулятор принимал исходящие пакеты, удалял заголовок Ethernet, вставлял флаги PPP (7E, FF, 03, 00 и 21) и помещал информацию уровня IP в пакет PPP.У меня проблемы с ФТС, которая идет после данных.Из того, что я могу сказать, сотовый модем, который я использую, имеет 2-байтовую FCS, используя метод CRC16-CCITT.Я нашел несколько программ, которые будут вычислять эту контрольную сумму, но ни одна из них не выдает то, что выходит из последовательной линии (у меня есть последовательная строка «анализатор», которая показывает мне все, что модем отправляет).
Я искал источник pppd и само ядро linux, и я вижу, что у них обоих есть метод добавления FCS к данным.Это кажется довольно сложным для реализации, так как у меня нет опыта взлома ядра.Может кто-нибудь придумать простой способ (желательно на Python) для вычисления FCS, который соответствует тому, который производит ядро?
Спасибо.
PS Если кто-то захочет, я могу добавить примериз вывода данных я получаю к последовательному модему.