Protocol 5 appears to work

Добавил пользователь Дмитрий К.
Обновлено: 19.09.2024

area/provider/aws Issues or PRs related to aws provider kind/feature Categorizes issue or PR as related to a new feature. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider.

Comments

micahhausler commented Dec 15, 2017

Is this a BUG REPORT or FEATURE REQUEST?:

/kind feature
/sig aws

Anything else we need to know?:

The text was updated successfully, but these errors were encountered:

k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 15, 2018

fejta-bot commented Apr 14, 2018

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten .
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close .

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
/remove-lifecycle stale

k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Apr 14, 2018

jnicholls commented Apr 21, 2018

Would love to see the service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*" annotation flip on the PROXY support for service.beta.kubernetes.io/aws-load-balancer-type: "nlb" network load balancer Services.

fejta-bot commented May 21, 2018

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen .
Mark the issue as fresh with /remove-lifecycle rotten .

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

itskarthikholla commented Feb 1, 2019

k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Feb 1, 2019

itskarthikholla commented Feb 1, 2019

k8s-ci-robot commented Feb 1, 2019

@itskarthikholla: You can't reopen an issue/PR unless you authored it or you are a collaborator.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

itskarthikholla commented Feb 1, 2019

Hi @micahhausler Does kubernetes support Proxy protocol for NLB ? What is the current status ?

micahhausler commented Feb 6, 2019

@itskarthikholla it isn't supported right now

k8s-ci-robot commented Feb 6, 2019

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

ajfriesen commented Mar 5, 2019

I am not a developer and just started learning go but I want to know if this could be a low hanging fruit?
Maybe this is possible to solve for me with some guidance?!

I checked the go package which already provides the value to enable Proxy Protocol V2 for the target groups:

There is already an annotation which will check if proxy protocol is enabled:
ServiceAnnotationLoadBalancerProxyProtocol = "service.beta.kubernetes.io/aws-load-balancer-proxy-protocol"

Could this be used to enable this setting on aws?

thockin added sig/network Categorizes an issue or PR as relevant to SIG Network. triage/unresolved Indicates an issue that can not or will not be resolved. labels Mar 7, 2019

tsuna commented Mar 21, 2019

Things mostly work when I enable PROXY protocol on the target group and configure it on the nginx ingress, the only thing that seems broken is that the healthchecks don't work. When I tcpdump I see a weird packet that precedes the GET for the healthcheck. Here's the tcpdump output immediately following the 3-way handshake:

This can be seen also when strace ing kube-proxy :

This weird packet doesn't show up when proxy protocol isn't enabled.

tsuna commented Mar 21, 2019 •

Looking at the PROXY protocol spec, this makes more sense now:

So the 16-byte version 2 header can be described this way :

Which is consistent with that first packet:

(the spec could've been clearer if QUIT appeared somewhere in ASCII in there)

and the AWS documentation says:

After you enable Proxy Protocol, the Proxy Protocol header is also included in health check connections from the load balancer. However, with health check connections, the client connection information is not sent in the Proxy Protocol header.

So it seems that kube-proxy simply doesn't expect the healthcheck itself to be PROXY'ed.

ajfriesen commented Mar 26, 2019 •

@tsuna
I do not understand where you do the health checks?

tsuna commented Mar 26, 2019

AWS' NLB healthchecks the targets to know which ones to send traffic to. From what I understand, every node in the cluster is added as a target but only those nodes that actually run an instance of the ingress will pass the healthcheck and therefore be eligible to receive traffic. With the fun caveat that when all the nodes fail their healthcheck (e.g. due to the issue above) then NLB just uniformly sprays the traffic across all the targets, which guarantees that X% of the traffic will be dropped on the floor, where X = number of nodes running the ingress divided by total number of nodes.

aranair commented Apr 19, 2019

AWS' NLB healthchecks the targets to know which ones to send traffic to. From what I understand, every node in the cluster is added as a target but only those nodes that actually run an instance of the ingress will pass the healthcheck and therefore be eligible to receive traffic. With the fun caveat that when all the nodes fail their healthcheck (e.g. due to the issue above) then NLB just uniformly sprays the traffic across all the targets, which guarantees that X% of the traffic will be dropped on the floor, where X = number of nodes running the ingress divided by total number of nodes.

Isn't this only the case when externalTrafficPolicy is set to Local? If that is set to Cluster, the health check would be done on the traffic port (and since the port is opened up on all the nodes, they should all pass the health checks.)

Side note, I enabled proxy support on the target groups of a cluster-health-checked NLB that health-checks on the traffic port and it seems to work fine.. hmmm.

В последнее время поступает много негатива по китайским адаптерам с версией 2.1.

Работают только с OBD2 протоколом и не всегда стабильно, любые KWP2000 протоколы - поддерживают криво и плохо, в большинстве случаев связь с ЭБУ не устанавливается.

CAN протоколы тоже могут вызывать ошибки переполнения буфера и спонтанные отключения.

Причина - удешевление производства в Китае, которое повлияло на качество. Китайские производители стали использовать более дешевый чип PIC который не совместим с исходной прошивкой (китайской же).

Продавцы уже поняли что люди не хотят покупать v2.1 и поэтому перемаркировали их и теперь эти адаптеры отзываются как версия 1.5.

Они не понимают некоторых команд для соединения с ЭБУ, а некоторые неправильно воспринимает:

SendCommand:ATAL
HandleReply: ? - должно быть ОК
-> EXTRAINIT
SendCommand:ATIB10
HandleReply: ELM327 v2.1 - должно быть ОК
-> EXTRAINIT
SendCommand:ATSH8111F1
HandleReply: OK
-> EXTRAINIT
SendCommand:ATST32
HandleReply: OK
-> EXTRAINIT
SendCommand:ATSW00
HandleReply: ? - должно быть ОК

Если для подключения к вашему ЭБУ необходимо прописывать строку инициализации elm (использовать шаблон строки инициализации elm), а на команды (ATIB10, ATAL, ATSW00 . ) которые неправильно отрабатывает ELM приходят ответы знак вопроса (на ATIB10 должен быть ответ ОК, а не версия elm адаптера), то такой адаптер нестандартные протоколы (KWP2000) не поддерживает (ЭБУ: Январь, Микас, Делфи. Авто: ВАЗы, Chery Tiggo, Nissan, Toyota JDM. ).

Связь вы не установите! И дело здесь не в программе хобдрайв!

ATSW00
посмотреть какой ответ отдает адаптер.
Если на команды запроса приходят ответы ОК, то этот адаптер будет работать с нестандартными протоколами.

Если на команды запроса (хотя бы на некоторые из них) приходят ответы знак вопроса (на ATIB10 должен быть ответ ОК, а не версия elm адаптера), то такой адаптер нестандатртные протоколы (KWP2000) не поддерживает.

Также можно выделить группу mac-адресов, которые принадлежат "кривым" elm адаптерам:

~ версия 2.1 на ATAL-?:
- 66:35:56.
- 88:18:56:68:98:EB
- 11:18:56:68:98:EB
- 00:18:56:68:AE:08

~ версия 1.5, на ATAL-OK, но другие команды не воспринимает или воспринимает неправильно:

~ версия 2.1, на ATAL-OK, но другие команды не воспринимает или воспринимает неправильно

~ версия 1.5, на ATAL, ATIB10, ATST32 - ?

На рынке появились елм, которые в elm327identifier пишет ответ ОК, а на самом деле там немного по-другому и связь с авто по KWP2000 установить не удается

Вот такой лог имеем с elm327identifier:
Имя устройства=OBDII
Mac адрес устройства=00:1D:A5:68:98:8A
Версия устройства (Заявленная)=ELM327 v1.5
ATIB10 1.0 OK

с хобдрайва:
SendCommand:ATIB10
HandleReply: KBusBaud=10400 OK

Не должно быть в ответе KBusBaud=10400

Новая партия урезанных адаптеров на поддельном чипе pic. Связь устанавливается, но не все параметры отображаются:

Ответ с нормального адаптера (авто Samand с ЭБУ Siemens):
[TRACE] 09.06.2017 8:09:31.353[OBD2Engine] SendCommand:2101
[TRACE] 09.06.2017 8:09:31.353[OBD2Engine] -> SENSOR_ACK
[TRACE]
09.06.2017 8:09:31.676[OBD2Engine] HandleReply:
6101783D45AE897E17000417D90000712E00007A0000005803FF0058000000B0B0B0B000000000000000000000000000000000001F00B5E900003B6F1E050EFC68000000009A09006801EB03002C3F16000000

Вот с кривого (авто Samand с ЭБУ Siemens):
[TRACE] 28.07.2017 17:39:25.289[OBD2Engine] SendCommand:2101
[TRACE] 28.07.2017 17:39:25.293[OBD2Engine] -> SENSOR_ACK
[TRACE] 28.07.2017 17:39:25.649[OBD2Engine] HandleReply: 5361017A3D42B16D8F16003216DA0000992E00007D

Ответ на запрос 2101 должен начинаться с 6101, а тут начинается с 53.
53 - это длина ответа в hex (обычно она не пишется, если не задан параметр
ATH1 - отображать хедер ответа). В десятичной системе измерения
получается 83, что совпадает с ответом с хорошего адаптера (61 -
первый байт, 01-второй, . 00-восемдесят третий). В плохом адаптере
отображается только двадцать байт из 83.

На данный момент все больше плохих адаптеров отвечают в терминале ОК.

Пока плохие адаптеры не знают команды

ATPPS.

Для проверки в терминале пошлите

ATZ

ATPPS

Ответы от них в терминале имеют примерно такой вид:

Write: ATZ
Read: ATZ

>
Write: ATPPS
Read: ATPPS
00:FF F 01:FF F 02:FF F 03:32 F
04:01 F 05:FF F 06:F1 F 07:09 F
08:FF F 09:00 F 0A:0A F 0B:FF F
0C:68 F 0D:0D F 0E:9A F 0F:FF F
10:0D F 11:00 F 12:FF F 13:32 F
14:FF F 15:0A F 16:FF F 17:92 F
18:00 F 19:28 F 1A:FF F 1B:FF F
1C:FF F 1D:FF F 1E:FF F 1F:FF F
20:FF F 21:FF F 22:FF F 23:FF F
24:00 F 25:00 F 26:00 F 27:FF F
28:FF F 29:FF F 2A:38 F 2B:02 F
2C:E0 F 2D:04 F 2E:80 F 2F:0A F

Если на ATPPS будет ответ знак вопроса, то адаптер имеет урезанный функционал.

В последнее время поступает много негатива по китайским адаптерам с версией 2.1.

Работают только с OBD2 протоколом и не всегда стабильно, любые KWP2000 протоколы - поддерживают криво и плохо, в большинстве случаев связь с ЭБУ не устанавливается.

CAN протоколы тоже могут вызывать ошибки переполнения буфера и спонтанные отключения.

Причина - удешевление производства в Китае, которое повлияло на качество. Китайские производители стали использовать более дешевый чип PIC который не совместим с исходной прошивкой (китайской же).

Продавцы уже поняли что люди не хотят покупать v2.1 и поэтому перемаркировали их и теперь эти адаптеры отзываются как версия 1.5.

Они не понимают некоторых команд для соединения с ЭБУ, а некоторые неправильно воспринимает:

SendCommand:ATAL
HandleReply: ? - должно быть ОК
-> EXTRAINIT
SendCommand:ATIB10
HandleReply: ELM327 v2.1 - должно быть ОК
-> EXTRAINIT
SendCommand:ATSH8111F1
HandleReply: OK
-> EXTRAINIT
SendCommand:ATST32
HandleReply: OK
-> EXTRAINIT
SendCommand:ATSW00
HandleReply: ? - должно быть ОК

Если для подключения к вашему ЭБУ необходимо прописывать строку инициализации elm (использовать шаблон строки инициализации elm), а на команды (ATIB10, ATAL, ATSW00 . ) которые неправильно отрабатывает ELM приходят ответы знак вопроса (на ATIB10 должен быть ответ ОК, а не версия elm адаптера), то такой адаптер нестандартные протоколы (KWP2000) не поддерживает (ЭБУ: Январь, Микас, Делфи. Авто: ВАЗы, Chery Tiggo, Nissan, Toyota JDM. ).

Связь вы не установите! И дело здесь не в программе хобдрайв!

Проверка ELM327:
Самостоятельно проверить elm можно с помощью Хобдрайва:

в системных настройках изменить уровень системных логов с error на trace

в параметрах авто выбрать шаблон строки инициализации elm: VAZ Yanvar

ATSW00
посмотреть какой ответ отдает адаптер.
Если на команды запроса приходят ответы ОК, то этот адаптер будет работать с нестандартными протоколами.

Если на команды запроса (хотя бы на некоторые из них) приходят ответы знак вопроса (на ATIB10 должен быть ответ ОК, а не версия elm адаптера), то такой адаптер нестандатртные протоколы (KWP2000) не поддерживает.

Также можно выделить группу mac-адресов, которые принадлежат "кривым" elm адаптерам:

версия 2.1 на ATAL-?:
- 66:35:56.
- 88:18:56:68:98:EB
- 11:18:56:68:98:EB
- 00:18:56:68:AE:08

версия 1.5, на ATAL-OK, но другие команды не воспринимает или воспринимает неправильно:

версия 2.1, на ATAL-OK, но другие команды не воспринимает или воспринимает неправильно

версия 1.5, на ATAL, ATIB10, ATST32 - ?

На рынке появились елм, которые в elm327identifier пишет ответ ОК, а на самом деле там немного по-другому и связь с авто по KWP2000 установить не удается

Вот такой лог имеем с elm327identifier:
Имя устройства=OBDII
Mac адрес устройства=00:1D:A5:68:98:8A
Версия устройства (Заявленная)=ELM327 v1.5
ATIB10 1.0 OK

с хобдрайва:
SendCommand:ATIB10
HandleReply: KBusBaud=10400 OK

Не должно быть в ответе KBusBaud=10400

Новая партия урезанных адаптеров на поддельном чипе pic. Связь устанавливается, но не все параметры отображаются:

Ответ с нормального адаптера (авто Samand с ЭБУ Siemens):
[TRACE] 09.06.2017 8:09:31.353[OBD2Engine] SendCommand:2101
[TRACE] 09.06.2017 8:09:31.353[OBD2Engine] -> SENSOR_ACK
[TRACE]
09.06.2017 8:09:31.676[OBD2Engine] HandleReply:
6101783D45AE897E17000417D90000712E00007A0000005803FF0058000000B0B0B0B000000000000000000000000000000000001F00B5E900003B6F1E050EFC68000000009A09006801EB03002C3F16000000

Вот с кривого (авто Samand с ЭБУ Siemens):
[TRACE] 28.07.2017 17:39:25.289[OBD2Engine] SendCommand:2101
[TRACE] 28.07.2017 17:39:25.293[OBD2Engine] -> SENSOR_ACK
[TRACE] 28.07.2017 17:39:25.649[OBD2Engine] HandleReply: 5361017A3D42B16D8F16003216DA0000992E00007D

Ответ на запрос 2101 должен начинаться с 6101, а тут начинается с 53.
53 - это длина ответа в hex (обычно она не пишется, если не задан параметр
ATH1 - отображать хедер ответа). В десятичной системе измерения
получается 83, что совпадает с ответом с хорошего адаптера (61 -
первый байт, 01-второй, . 00-восемдесят третий). В плохом адаптере
отображается только двадцать байт из 83.

На данный момент все больше плохих адаптеров отвечают в терминале ОК.

Пока плохие адаптеры не знают команды

Для проверки в терминале пошлите

Ответы от них в терминале имеют примерно такой вид:

Write: ATZ
Read: ATZ

>
Write: ATPPS
Read: ATPPS
00:FF F 01:FF F 02:FF F 03:32 F
04:01 F 05:FF F 06:F1 F 07:09 F
08:FF F 09:00 F 0A:0A F 0B:FF F
0C:68 F 0D:0D F 0E:9A F 0F:FF F
10:0D F 11:00 F 12:FF F 13:32 F
14:FF F 15:0A F 16:FF F 17:92 F
18:00 F 19:28 F 1A:FF F 1B:FF F
1C:FF F 1D:FF F 1E:FF F 1F:FF F
20:FF F 21:FF F 22:FF F 23:FF F
24:00 F 25:00 F 26:00 F 27:FF F
28:FF F 29:FF F 2A:38 F 2B:02 F
2C:E0 F 2D:04 F 2E:80 F 2F:0A F

Если на ATPPS будет ответ знак вопроса, то адаптер имеет урезанный функционал.

Сопряжение с адаптером ELM327 и автомобилем

Как добавить набор PID (ПИД)

Почитать об этом более подробно можно здесь.

Torque pro инструкция

Инструкция по установке, настройке и работе с программой Torque для Android. Разберемся как установить приложение, как добавить плагины, как добавлять приборы и настраивать их. Какие есть пункты меню в программе и что означает каждый из них. Как добавить свою строку инициализации, что это такое и зачем она нужна. Как установить свой PID файл.

Описание программы

Программа Torque (Торкуе) работает совместно с адаптерами ELM327. Возможно использование ELM327 Bluetooth, WiFi, USB. Приложение совместимо с автомобилями Toyota, BMW, Ford, GM, Mercedes, Vauxhall, Nissan, Daewoo, Opel, Chrysler, Volkswagen, Audi, Jaguar, Citroen, Peugoet, Skoda, Kia, Mazda, Lexus, , Renault, Mitsubishi, Honda, Hyundai, Seat, Dodge, Jeep, Pontiac, Subaru и многими другими.

Торкуе является своего рода бортовым компьютером на смартфоне.

Функции

Как добавить строку инициализации

Подробнее об этом можно почитать здесь.

Строка инициализации может понадобится, если ваша машина имеет нестандартный протокол OBDII. В этом случае программе требуются дополнительные команды инициализации блока управления, чтобы он вышел на связь. Строка инициализации посылается перед попыткой подключения.

Icon download

Инструкция на русском для Torque (536 KiB, скачали 15641 раз)

Программа для поиска и расшифровки ошибок

Если у вас есть телефон на Android, то можно не мучаться с таблицей, а скачать специальную программу для расшифровки кодов OBD2.

Коды неисправностей и ошибок OBD2 (OBD II)



  • P = Powertrain (двигатель и/или АКПП)
  • B = Body (подушки безопасности, центральный замок, электростеклоподъемники)
  • C = Chassis (ходовая часть)
  • U = Undefined (шина взаимодействия между электронными блоками)
  • 0 = Generic (общий код для OBD2, это цифра, а не буква)
  • 1 = Enhanced (код производителя)
  • 2 = Enhanced (код производителя)
  • 3 = Reserve (резерв)
  • 1 = Emission Management (Fuel or Air) (управление впрыском, топливная система или воздухоподача)
  • 2 = Injector Circuit (Fuel or Air) (цепь инжектора, топливная система или воздухоподача)
  • 3 = Ignition or Misfire (система зажигания)
  • 4 = Emission Control (вспомогательный контроль)
  • 5 = Vehicle Speed & Idle Control (скорость и холостой ход)
  • 6 = Computer & Output Circuit (ЭБУ и его внешние цепи)
  • 7 = Transmission (трансмиссия)
  • 8 = Transmission (трансмиссия)
  • 9 = SAE Reserved (резерв)
  • 10 = SAE Reserved (резерв)



Установка

  1. Скачиваем последнюю русскую версию torque.
  2. Нажимаем установить.
  3. На рабочем столе появляется ярлык приложения, установка программы закончена.

Описание пунктов меню программы Torque

Адаптер сопряжен, связь с автомобилем установлена. Пора разобраться с пунктами меню программы. Меню приложения Torque состоит из следующих разделов:

  1. Состояние адаптера
  2. Графики
  3. Результаты испытаний
  4. Обзор на карте
  5. Считывание ошибок
  6. Приборная панель
  7. Плагины
  8. Настройки
  9. Помощь

Что означает каждый, для чего нужен и как их настраивать.

Состояние адаптера

Показывает информацию о подключенном диагностическом адаптере и параметрах автомобиля.

  • Связь с адаптером – да/нет
  • Подключение к ЭБУ – да/нет
  • Производитель адаптера
  • Версия адаптера
  • OBD протокол автомобиля
  • Доступные датчики

Графики

В этом разделе можно записывать параметры двигателя в виде графиков.

Для этого нужно выбрать тип графика, максимальное число записей, интервал опроса датчиков и, собственно, сами датчики для построения графиков.

Результаты испытаний

В этом разделе получаемые данные с датчиков автомобиля сравниваются с номинальными значениями.

Обзор на карте

Здесь можно записывать и просматривать текущую и архивные поездки. Данные, получаемые с GPS воспроизводятся на картах Гугл в виде траектории поездки.

Считывание ошибок

Приборная панель

Это основная рабочая область приложения. Содержит приборы с показаниями датчиков автомобиля, в т.ч. в реальном времени. На приборную панель можно добавлять свои приборы с цифровой информацией, графиками или текстом.

Чтобы добавить нужный вам прибор нужно:

Приборы можно настраивать, перемещать, удалять.

Профили автомобилей

Под каждый автомобиль можно создавать свой профиль.

В нем указывается:

  • Название
  • Фотография
  • Тип кузова
  • Объем двигателя
  • Масса
  • Тип топлива
  • Объем бака
  • Максимальное значение тахометра
  • Цена топлива

Плагины

Плагины расширяют возможности программы Torque. Особенно популярны плагины для конкретных автопроизводителей: Nissan, Renault, Kia и т.д.

Плагины нужно сначала скачать здесь.

Затем устанавливаем их, как обычное приложение. Установленные плагины появятся в виде дополнительных пунктов меню.

Протоколы стандарта OBD2



1. OEM (протокол производителя).
Коммутация +12в. при включении зажигания.
2. Шина + (Bus positive Line). SAE-J1850 PWM, SAE-1850 VPW.
3. —
4. Заземление кузова.
5. Сигнальное заземление.
6. Линия CAN-High высокоскоростной шины CAN Highspeed (ISO 15765-4, SAE-J2284).
7. K-Line (ISO 9141-2 и ISO 14230).
8. —
9. Линия CAN-Low, низкоскоростной шины CAN Lowspeed.
10. Шина — (Bus negative Line). SAE-J1850 PWM, SAE −1850 VPW.
11. —
12. —
13. —
14. Линия CAN-Low высокоскоростной шины CAN Highspeed (ISO 15765-4, SAE-J2284).
15. L-Line (ISO 9141-2 и ISO 14230).
16. Питание +12в от АКБ.

Существует два типа протокола J1850. PWM является высокоскоростным и обеспечивает передачу информации со скоростью 41,6 Кбайт/с. Он применяется в автомобилях марок Ford, Jaguar и Mazda. В протоколе PWM сигналы передаются по двум проводам, подсоединенным к 2 и 10 контакту диагностического разъема.

Протокол VPW осуществляет передачу данных со скоростью 10,4 Кбайт/с, что существенно медленнее, чем у протокола PWM. Формат данного протокола идентичен SAE J1850 PWM . Данный протокол используется на автомобилях General Motors (GM) и Chrysler. VPW предусматривает обмен данными по одному проводу, подсоединенному ко 2 контакту диагностического разъема. Длина шины может достигать 35 метров.

Данный протокол разработан компанией ISO. Он не такой сложный, как протоколы J1850 и не требует в использовании специальных коммуникационных микропроцессоров, но, с другой стороны, обеспечивает довольно медленную передачу данных со скоростью 10 Кбайт/c. Протоколы ISO 9141 и ISO 14230 схожи по физической реализации обмена информацией, но различаются ее использованием. Поэтому сканер ISO 9141, обычно может работать и с ISO 14230, но не наоборот.

В протоколе ISO 9141-2 сигналы передаются по 7 контакту (К-линия) и опционально по 15 контакту (L-линия). К-линия является двунаправленной (т.е. передает данные в обе стороны), L-линия однонаправленная и используется лишь для соединения ЭБУ и сканера, после чего линия L переходит в состояние логической единицы.

ISO 14230-4 (др. название Keyword Protocol 2000)

На физическом уровне данный протокол идентичен ISO 9141, но является еще более медленным (скорость передачи данных от 1,2 до 10 Кбайт/c в быстрой версии).

CAN-протокол был разработан компанией Bosch для автомобильного и промышленного применения. В рамках стандарта OBD2 протокол использует линии CAN High и CAN Low, т.е. 2 контакта для обмена сигналом: 6 и 14. Является самым скоростным и совершенным. Сейчас данный протокол используется на большинстве современных автомобилях. Стандарт CAN не регламентирует определенной скорости работы для каждой шины в автомобиле. С помощью отдельных и встроенных микроконтроллеров есть возможность менять ее от 20 Кбит/c до 1 Мбит/с.

Traceback (most recent call last):
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/flask/compat.py", line 39, in reraise
raise value
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functionsrule.endpoint
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/airflow/www/auth.py", line 34, in decorated
return func(*args, **kwargs)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/airflow/www/decorators.py", line 97, in view_func
return f(*args, **kwargs)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/airflow/www/decorators.py", line 60, in wrapper
return f(*args, **kwargs)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/airflow/utils/session.py", line 65, in wrapper
return func(*args, session=session, **kwargs)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/airflow/www/views.py", line 2042, in graph
dt_nr_dr_data = get_date_time_num_runs_dag_runs_form_data(request, session, dag)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/airflow/www/views.py", line 156, in get_date_time_num_runs_dag_runs_form_data
.limit(num_runs)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3373, in all
return list(self)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 100, in instances
cursor.close()
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 70, in exit
with_traceback=exc_tb,
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 182, in raise

raise exception
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 80, in instances
rows = [proc(row) for row in fetch]
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 80, in
rows = [proc(row) for row in fetch]
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 588, in _instance
populators,
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 725, in populate_full
dict
Protocol 5 appears to work = getter(row)
File "/Users/han/opt/anaconda3/envs/py37/lib/python3.7/site-packages/sqlalchemy/sql/sqltypes.py", line 1723, in process
return loads(value)
ValueError: unsupported pickle protocol: 5

The text was updated successfully, but these errors were encountered:

potiuk commented Dec 26, 2020

trustfuture commented Dec 29, 2020

GreenGrassBlueOcean commented Jan 4, 2021 •

The remarkable thing however is that some dags run fine (even on the 3.8.5. node), and others have suddenly a problem and do not run at all any more.

Did some further research on this particular DAG. It proved to be the case that the process was already manually started on the node (physical login on pc and start from terminal over there). After a reboot of the node the DAG run normal again

ashb commented Jan 5, 2021

Fairly sure this one is going to be a "can't fix - don't run multiple different python versions in parallel" --if you need to do that use the VirtualEnv operator.

Читайте также: