Содержание
- Understanding I2C Errors
- The Errors
- Not Enabled (-13)
- Controller Select Error (-1)
- Transmit Select Error (-2)
- Transmit Error (-3) BTF Error (-4)
- Stop Error (-5)
- Address Clear Error (-6)
- Address RXNE Error (-7) Data RXNE Error (-8) Controller Receive Select Error (-10) Receive Error (-11) BTF Receive Error (-14)
- Reselect Error (-12)
- I2c rw error status 0x4198fe00
- Macro Definition Documentation
- § I2C_STATUS_QUEUED
- § I2C_STATUS_SUCCESS
- § I2C_STATUS_ERROR
- § I2C_STATUS_UNDEFINEDCMD
- § I2C_STATUS_TIMEOUT
- § I2C_STATUS_CLOCK_TIMEOUT
- § I2C_STATUS_ADDR_NACK
- § I2C_STATUS_DATA_NACK
- § I2C_STATUS_ARB_LOST
- § I2C_STATUS_INCOMPLETE
- § I2C_STATUS_BUS_BUSY
- § I2C_STATUS_CANCEL
- § I2C_STATUS_INVALID_TRANS
- Matek F722-STD i2c errors & max load >100% #4433
- Comments
- Current Behavior
- version
- INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
- GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
- status
- tasks
- bootlog
- resource
- version
- INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
- GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
- Arduino.ru
- Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru
- forum.arduino.ru
- И опять про LCD и PCF8574. ну никак не запущу.
Understanding I2C Errors
How To Debug I²C Read And Write Problems
The imp API provides users of I²C peripheral devices (‘peripherals’) with debugging information following failed attempts to read or write data to any I²C peripheral connected to an imp. This information comes in the form of an integer constant returned by either i2c.write() or i2c.readerror(), depending on the type of operation being performed. If either method returns any value other than 0, an error has occurred. The return value indicates the nature of the error, and these errors are listed in the i2c.readerror() documentation. Should an error occur, the I²C transaction is abandoned.
This document describes these errors in more detail. They are presented in the order in which they are likely to be encountered, with those relating to write operations appearing first, followed by those issued during read operations.
The imp API makes sending and receiving data via I²C very straightforward, but ‘under the hood’ the process as is complex. As such, a single imp API I²C access may result in any one of a series of errors, depending on which stage of the process the underlying impOS™ I²C code has reached.
The I²C Protocol
Developers working with imp005-based devices should note that the following applies primarily to other imp devices. The imp005’s Broadcom SoC will report only two I²C error values: -13 and -9. The former is as described below, but the latter covers almost all of the remaining I²C errors: unfortunately, some error conditions aren’t reported at all (success is falsely indicated). We hope to improve imp005 I²C error reporting in a future version of impOS.
The Errors
Not Enabled (-13)
This is a straightforward error that is issued when you have attempted to access an imp I²C bus that has not yet been configured. Check your code and, if necessary, call i2c.configure() with a supported speed constant passed as a parameter.
Controller Select Error (-1)
The imp signals its intention to begin an I²C transaction by establishing the standard I²C start condition: it attempts to pull the SDA line low (so the waveform has a falling edge) while the SCL line remains high. If the imp is unable to pull SDA low, this error will be issued.
This error may arise if another I²C master is operating on the same bus and has taken control of it. If the imp is the only master on the bus, this error may result from poorly chosen pull-up resistors. I²C ports are open drain so can only pull the SDA and SCL lines low; pull-up resistors are required to drive the lines high when they are released by bus devices.
Transmit Select Error (-2)
After the imp has signalled start and is ready to write data to it, it sends the 7-bit address of the I²C peripheral it wants to communicate with, followed by a single bit indicating whether the transaction is a write (the imp pulls SDA low) or a read (the imp leaves SDA high). These eight bits should be acknowledged by a single-bit ACK signal from the peripheral at the transmitted address; it pulls SDA low. If the acknowledgement doesn’t occur during the ninth clock pulse, then the imp will issue this error.
If this error is encountered, check the value of the peripheral’s address that you are passing. Some devices have multiple addresses, selectable by setting an address pin to one of three states (high, low or floating). The imp API takes addresses in 8-bit form; 7-bit addresses will need to be bit-shifted left one place.
Transmit Error (-3)
BTF Error (-4)
Once the peripheral has acknowledged its readiness, the imp can begin to send the data it wants to write. Data is sent byte by byte, each one written to the imp’s data register from which it is passed to a shift register and from there out onto the bus one bit at a time. Once the peripheral has clocked in a byte of data, it should acknowledged receipt. If it fails to do so while the imp is processing any byte of the data but the last, a transmit error will be issued. If the error occurs sending the last byte, a BTF error is reported instead.
A transmit error may also be reported if the bit value clocked out is not seen on the bus, ie. the imp sends a 1, ie. it leaves the SDA line high, but the SDA line is pulled low. This could indicate bus contention — there is another master on the bus — or, more likely, that the I²C circuit’s pull-up resistors are too weak to keep the lines high.
Stop Error (-5)
Once the imp has successfully written all the data it wants to send to the peripheral (or read back all the data that it requested), it signals the completion of the transaction with a stop condition: while SCL is high, SDA is released to go high too (the waveform has a rising edge). This releases the bus for other devices to make use of it. Again, the imp checks that this stop signal has been sent correctly. If it has not, then this error will be issued.
Address Clear Error (-6)
During a read operation, the imp places on the bus the I²C address of the peripheral it wants to read data from. This event should be acknowledged by the peripheral. If it is not, the imp will return this error.
Address RXNE Error (-7)
Data RXNE Error (-8)
Controller Receive Select Error (-10)
Receive Error (-11)
BTF Receive Error (-14)
All of these errors indicate a failure to read a byte from the peripheral at some point during the read operation. This is often caused by the peripheral holding the SCL line low while it retrieves the requested byte(s) — a technique called ‘clock stretching’.
Which error you get will depend on the number of bytes you have requested to be read and on the exact point where the receive error occurred.
Reselect Error (-12)
If the imp wishes to read data from a specific peripheral register, it must first write that register’s address to the peripheral as a data value. After the register address has successfully been written, the imp initiates a read operation, to pick up the value the peripheral returns from the register. The imp switches from write mode to read mode by issuing a second start signal. Once again, it checks that it can proceed. If it is unable to do so within the timeout period, this error will be issued.
Источник
I2c rw error status 0x4198fe00
These macros are reservations for I2C.h
I2CMSP432E4_STATUS_* macros are command codes only defined in the I2CMSP432E4.h driver implementation and need to:
Macro Definition Documentation
§ I2C_STATUS_QUEUED
I2C transaction is queued but has not started.
§ I2C_STATUS_SUCCESS
Successful status code returned by I2C API.
§ I2C_STATUS_ERROR
Generic error status code returned by I2C API.
§ I2C_STATUS_UNDEFINEDCMD
#define I2C_STATUS_UNDEFINEDCMD (-2)
An error status code returned by I2C_control() for undefined command codes.
§ I2C_STATUS_TIMEOUT
I2C operation timed-out.
§ I2C_STATUS_CLOCK_TIMEOUT
#define I2C_STATUS_CLOCK_TIMEOUT (-4)
I2C serial clock line timeout.
§ I2C_STATUS_ADDR_NACK
I2C slave address not acknowledged.
§ I2C_STATUS_DATA_NACK
I2C data byte not acknowledged.
§ I2C_STATUS_ARB_LOST
I2C multi-master arbitration lost.
§ I2C_STATUS_INCOMPLETE
#define I2C_STATUS_INCOMPLETE (-8)
I2C transaction is in progress or returned without completing.
§ I2C_STATUS_BUS_BUSY
I2C bus already in use by another controller. The I2C transaction was therefore unable to start.
§ I2C_STATUS_CANCEL
I2C transaction canceled by I2C_cancel()
§ I2C_STATUS_INVALID_TRANS
#define I2C_STATUS_INVALID_TRANS (-11)
I2C transaction is invalid. This may occur if:
Источник
Matek F722-STD i2c errors & max load >100% #4433
Current Behavior
My config is Matek F722-STD powered by Matek FCHUB-6S. After connecting the board to Inav configurator (first powered by battery) I’m getting i2c errors of 45 and in tasks lists max load is exceeding 100% for battery task.
Here is dump of CLI for my board:
version
INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
status
System Uptime: 65 seconds
Current Time: 2041-06-28T01:04:00.000+00:00
Voltage: 16.88V (4S battery — OK)
CPU Clock=216MHz, GYRO=MPU6500, ACC=MPU6500, BARO=BMP280, MAG=HMC5883
STM32 system clocks:
SYSCLK = 216 MHz
HCLK = 216 MHz
PCLK1 = 54 MHz
PCLK2 = 108 MHz
Sensor status: GYRO=OK, ACC=OK, MAG=OK, BARO=OK, RANGEFINDER=NONE, OPFLOW=NONE, GPS=OK
SD card: Manufacturer 0x2, 15126528kB, 06/2016, v2.4, ‘SA16G’
Filesystem: Ready
Stack size: 6144, Stack address: 0x20010000, Heap available: 1664
I2C Errors: 45, config size: 4671, max available config: 16384
ADC channel usage:
BATTERY : configured = ADC 1, used = ADC 1
RSSI : configured = ADC 3, used = none
CURRENT : configured = ADC 2, used = ADC 2
AIRSPEED : configured = none, used = none
System load: 6, cycle time: 509, PID rate: 1964, RX rate: 49, System rate: 9
Arming disabled flags: ANGLE NAV RX CLI
tasks
Task list rate/hz max/us avg/us maxload avgload total/ms
0 — SYSTEM 9 3329 4 3.4% 0.5% 24374
1 — GYRO/PID 1960 160 132 31.8% 26.3% 28619
2 — RX 49 53 41 0.7% 0.7% 237
3 — SERIAL 100 687 5 7.3% 0.5% 110
4 — BATTERY 49 40053 17 196.7% 0.5% 134
5 — TEMPERATURE 99 12 3 0.6% 0.5% 28
6 — BEEPER 99 10 4 0.5% 0.5% 48
7 — GPS 49 260 26 1.7% 0.6% 140
8 — COMPASS 9 226 219 0.7% 0.6% 245
9 — BARO 43 241 159 1.5% 1.1% 765
13 — TELEMETRY 498 17 4 1.3% 0.6% 269
16 — OSD 248 1053 44 26.6% 1.5% 1209
17 — CMS 49 5 2 0.5% 0.5% 10
20 — VTXCTRL 4 4 1 0.5% 0.5% 0
Task check function 6 2 11
Total (excluding SERIAL) 266.5% 34.4%
bootlog
Time Evt Description Parameters
3: 0 CONFIG_LOADED
3: 1 SYSTEM_INIT_DONE
259: 19 TIMER_CHANNEL_MAPPED (1, 1, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (2, 2, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (3, 3, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (4, 4, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (5, 5, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (6, 6, 0, 2)
259: 2 PWM_INIT_DONE
759: 21 TEMP_SENSOR_DETECTION
960: 9 GYRO_DETECTION (7, 0, 0, 0)
1451: 10 ACC_DETECTION (8, 0, 0, 0)
1552: 11 BARO_DETECTION (4, 0, 0, 0)
1552: 20 PITOT_DETECTION (0, 0, 0, 0)
1562: 12 MAG_DETECTION (2, 0, 0, 0)
1673: 21 TEMP_SENSOR_DETECTION
2080: 13 RANGEFINDER_DETECTION (0, 0, 0, 0)
2080: 4 SENSOR_INIT_DONE
2633: 5 GPS_INIT_DONE
2633: 7 TELEMETRY_INIT_DONE
3634: 8 SYSTEM_READY
resource
A00: SERIAL4 UART TX
A01: SERIAL4 UART RX
A02: FREE
A03: SERIAL2 UART RX
A04: FREE
A05: SPI1 SCK
A06: SPI1 MISO
A07: SPI1 MOSI
A08: MOTOR6 OUT
A09: SERIAL1 UART TX
A10: SERIAL1 UART RX
A11: USB IN
A12: USB OUT
A13: FREE
A14: LED2 OUT
A15: FREE
B00: FREE
B01: MOTOR5 OUT
B02: FREE
B03: SPI3 SCK
B04: SPI3 MISO
B05: SPI3 MOSI
B06: I2C1 SCL
B07: I2C1 SDA
B08: FREE
B09: LED1 OUT
B10: OSD CS
B11: FREE
B12: FREE
B13: SPI2 SCK
B14: SPI2 MISO
B15:
SPI2 MOSI
C00: ADC CH1
C01: SDCARD CS
C02: MPU CS
C03: MPU EXTI
C04: ADC CH2
C05: FREE
C06: MOTOR1 OUT
C07: MOTOR2 OUT
C08: MOTOR3 OUT
C09: MOTOR4 OUT
C10: FREE
C11: FREE
C12: FREE
C13: BEEPER OUT
C14: FREE
C15: FREE
D02: FREE
Entering CLI Mode, type ‘exit’ to return, or ‘help’
version
INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
Источник
Arduino.ru
Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru
forum.arduino.ru
И опять про LCD и PCF8574. ну никак не запущу.
Всем добрый день. Прошу помощи. Скажу сразу — новичек. Не во всем пока разбираюсь. И не пойму в какую тему обратится(((
Начну по порядку))
Имеется Arduino UNO Rev.3 + LCD Keypad Shild от DFRobot + PCF8574AN.
На этом шилде контак RW — запаен на общий. Когда подключал «нормально» с библитекой LiquidCrystal — никаких проблем не было. Начитавшись форумов, решил попробовать включить по I2C.
Сумел RW «отодрать» от общего)))
Собирал различные схемы и заливал различные библиотеки:
Пробовал и на 0023 и на 1.0 — ничего не получается.
Несколько раз проверял монтаж. полный «зеро»
Можете подсказать — что не так.
Можете подсказать — что не так.
Нет результатов диагностики. i2cScanner — видит Вашу железку? Попробуйте запустить по i2c что-нибудь другое, заведомо рабочее.
90% что дело не в программной части, а в аппаратной. неконтакт, непропай, неверное подключение
1. Какой монтаж?
2. Как вы проверяли монтаж?
Прозвоните все линии и 5 раз перепроверьте правильность подключения.
Спасибо за ответы.
«Попробуйте запустить по i2c что-нибудь другое, заведомо рабочее.»
I2C проверял часами RTC DS1307. Все работает, вывожу время на LCD.
«90% что дело не в программной части, а в аппаратной. неконтакт, непропай, неверное подключение»
Смонтировано на монтажной плате. Монтаж проверял тестором. Проверял непосредственно на контактах LCD, Arduino и ногах микросхемы PCF8574.
Попробую все сделать с самого начала))
Может кто нибудь подскажет где скачать заведомо рабочую библиотеку на LiquidCrystal I2C.
Проверил еще раз монтаж. Все нормально.
Ничего не запустилось, не высвечивает, хоть тресни. В итоге полез в инет. Нашел следующее:
The only difference between the two is the I2C base address. The base address for the PCF8574 is 0x20 and the base address for the PCF8574A is 0x38 . The library doesn’t make any assumption as to the device being used, and it is up to the user to configure it during initialization of the application.
Я в первом посте писал, что у меня PCF8574AN
LiquidCrystal_I2C lcd(0x38,16,2);
Может кому пригодится)))
В догонку версия Arduino 1.0
Я в первом посте писал, что у меня PCF8574AN
Вам i2cScanner и должен был показать этот адрес устройства.
Да, надо было сразу пройти и не ломать голову. Спасибо.
У меня тож не работает дисплей, уже не знаю,что делать. Приобрел дисплей, который уже смонтирован с PCF8574. Все джамперы A0,A1,A2 одеты. Согласно таблицы дисплей имеет в этом случае адрес 0x40. Скачал библиотеку LiqiudCrystal_I2C.h. Подключил GNd,5V, SCL, SDA , A4 и A5 на ардуино уно. Дисплей показывает только квадраты (артефакты). Поменя местаими SCL и SDA, думал может ошибся, но дисплей не хочет работать.
Что- то я упустил?
Что- то я упустил?
Ссылку на свой дисплей и код, который заливаете.
PCF8574 бывают разные — и адреса у них разные получаются. Так что I2C сканером проверь адрес.
Это тока в мультиках рисуют на стене дверь и потом входят в нее — в жизни все по другому.
Я игрался с переборкой библиотек и адресов — запустил (правда долго игрался)
Загрузил вот этот код:
Дисплей засветился,но «Hello, World» не показывает
I2C scan показывает адресс 0x20, попробовал вставить lcd.begin (16,2)б тоже без результатно
Вот упертый. вам сюда.
заценил шутку) Display прияпаян к PCF8574, не видно,что на нем написано, что-то вроде 94V-0 , вот такой http://arduino.cc/en/uploads/Tutorial/LCD_bb.png. C-Control производитель
Значит руки не из нужного места — потому что я тоже запустил 2 дисплея и 16х2 и 20х4. Пробовал разные библиотеки, смотрел их работу — дописал вариант инита в обычную. Все нормально работает — подобных плат у меня 5 шт.
Просто производитель, делающий модуль PCF8574 для этого дисплея может его развести как угодно, то есть сам дисплей может быть подключен к PCF8574 так как взбредет в голову производителю модуля.
Поэтому может оказаться так что например шина данных так и находится в младших 4 битах, а вот EN, RW, RS могут быть подключены по другому:
ТАк же на этом модуле должен быть потенциометр регулировки контрастности, крутить пробовали?
Конечно пробовал. Может если не трудно порекомендуйте пару библиотек
Так записано в библиотеке:
На плате PCF8574 RW на 6 пине, En на 4, а Register Select на 5.
Нужно значит изменить запись в библиотеке на эту?
Тож не помогло. Вот нашел Datasheet со схемой подключения, там вроде Enable к 11 выходу подключается, Rw к 9, а RS к 10.
Поменял, тоже безрезультатно.
Может что-то упустил?
Что поменял? Для этой схемы:
Так записано в библиотеке:
Либо если в вашей библиотеке есть метод send то выглядеть он должен так:
есть в библиотеке вот что:
1. если использовать LiquidCrystal_I2C библиотеку, но у вас D4-D7 ноги дисплея подсоединены к 4-7 выводам PCF8574 то необходима правка как тут:
а конкретнее необходимо отредактировать:
портанул как раз только что эту библиотеку в свой проект (не ардуино вообще), завелось все с первого раза
на других библиотеках нужно смотреть для какого подключения она предназначена и редактировать соответствующее место где идет перетасовка старшей и младшей половины байта
Мучаю модуль с PCF8574T на борту. Адрес сканером определятся как 0x27.
Контакты на модуле прозвонил и поменял в скетче.
Результат банальный, не работает, т.е. светятся одни квадраты. Что я не так сделал?
P.S. Разобрался. Сам себе злобный буратино, не заметил непропай на RW.
UNO R3 + LCD 1602 + i2c с индексом — Т (PCF8574T)
Питание 5в Выходы подключил к А4 и А5.
Дисплей просто светиться и ничего не отображает
/*
* Displays text sent over the serial port (e.g. from the Serial Monitor) on
* an attached LCD.
* YWROBOT
*Compatible with the Arduino IDE 1.0
*Library version:1.1
*/
#include
#include
LiquidCrystal_I2C lcd(0x20,16,2); // set the LCD address to 0x20 for a 16 chars and 2 line display
Источник
Содержание
- Как устранить ошибку температуры в журнале Antminer T17
- I2c rw error status 0x4198fe00
- Вопрос
- Троян использует «режим Бога» Windows, чтобы спрятаться в системе
- Crash on OTA Update (IDFGH-1848) #231
- Comments
- Geend commented Jan 14, 2017
- michal037 commented Jan 14, 2017
- konrad282 commented Jan 14, 2017 •
- ustccw commented Jan 17, 2017
- ustccw commented Jan 17, 2017
- Scalpel78 commented Feb 4, 2017
- ppisljar commented Feb 19, 2017
- FayeY commented May 3, 2017
- ppisljar commented May 3, 2017
- Scalpel78 commented May 9, 2017
- gregstewart90 commented May 23, 2017
- chegewara commented Nov 20, 2017 •
- projectgus commented Nov 20, 2017
- chegewara commented Nov 21, 2017
- francescofcf commented Oct 3, 2018 •
- csibrak commented Oct 21, 2018 •
- javicordon commented Jan 24, 2019
- chegewara commented Jan 25, 2019
- javicordon commented Jan 25, 2019
Как устранить ошибку температуры в журнале Antminer T17
Как устранить ошибку температуры в журнале Antminer T17
Система контроля температуры майнера полагается на чип датчика температуры хэш-платы для предоставления данных в реальном времени для обнаружения. Различная хэш-плата может иметь несколько термочувствительных чипов, обычно расположенных рядом с хэш-чипом. Если чип не обнаружен при запуске майнера, хэш-плата не сработает.
Следует отметить, что микросхема датчика температуры обычно не повреждается. Когда возникает температурная ошибка, некоторые обслуживающие персонал напрямую заменяют чип датчика температуры, но неисправность не может быть устранена.
На самом деле проблема не в самом чипе. Скорее всего, это вызвано неисправной микросхемой U1 или последней микросхемой, или это может быть вызвано пониженным напряжением источника питания.
Если весь журнал майнера указывает на ошибку температуры, тогда мы можем сначала обновить прошивку. Если ошибка все еще отображается, проверьте силу тока на входе. Пониженное напряжение источника питания также не позволяет всей машине считывать температуру.
Например, следующая подсказка:
2020/04/27 04:15:48] WARN: chain[1] — 3 sensor(s) reported their temps!
[2020/04/27 04:16:02] ERROR: src/temp.c:218 chain[1] sen[2] — Lost, no updates for 10 sec
[2020/04/27 04:16:02] WARN: chain[1] — 2 sensor(s) reported their temps!
[2020/04/27 04:16:29] ERROR: src/temp.c:218 chain[1] sen[1] — Lost, no updates for 10 sec
[2020/04/27 04:16:29] WARN: chain[1] — 1 sensor(s) reported their temps!
[2020/04/27 04:17:29] INFO: Setting voltage from 17500 to 17400 mV gradually
[2020/04/27 04:17:39] ERROR: src/temp.c:218 chain[1] sen[3] — Lost, no updates for 10 sec
[2020/04/27 04:17:39] WARN: chain[1] — 0 sensor(s) reported their temps!
[2020/04/27 04:17:39] ERROR: driver-btm-chain.c:950 chain[1] — Failed to read temp from all sensors!
Если температура не может быть считана ни одной хэш-платой, ее необходимо снять и проверить с помощью тестером чипов антминер. Эта ситуация обычно вызвана неправильным хеш-чипом. Замените поврежденный чип, чтобы устранить неисправность.
Обратите внимание: использование хэш-платы от разных майнеров может привести к тому, что некоторая хэш-плата не сможет определить температуру. Поскольку версия хэш-платы отличается, используемая микросхема измерения температуры также может быть другой. Майнер распознает только одну программу прошивки на плате управления, остальные будут нечитаемыми.
Видеоурок по осмотру и ремонту хэш платы на примере модели: S9
(Методы обнаружения и восстановления большинства майнеров в Antminer в основном одинаковы)
Нажмите для просмотра: Видеоурок по ремонту и диагностике неисправностей AntminerS9.
Связанные инструменты обслуживания:
Официальный термореактивный гель — 220г
Новая версия многофункционального испытательного стенда
Инструмент для стружки олова
Нажмите, чтобы увидеть больше инструментов для обслуживания майнеров
Источник
I2c rw error status 0x4198fe00
Вопрос
We’re running various version of Ubuntu 14.04.2 LTS on Generation 2 Hyper-V Hosts. On a random Basis, the file system will be mounted Read-Only due to a «disk error» (which really isn’t the case here). As a result, we must reboot the Ubuntu guest to get the file system to mount RW again.
The Error we see is the following:
Apr 30 00:02:01 balticnetworkstraining kernel: [640153.968142] storvsc: Sense Key : Unit Attention [current]
Apr 30 00:02:01 balticnetworkstraining kernel: [640153.968145] storvsc: Add. Sense: Changed operating definition
Apr 30 00:02:01 balticnetworkstraining kernel: [640153.968161] sd 0:0:0:0: Warning! Received an indication that the operating parameters on this target have changed. The Linux SCSI layer does not automatically adjust these parameters.
Apr 30 01:23:26 balticnetworkstraining kernel: [645039.584164] hv_storvsc vmbus_0_4: cmd 0x2a scsi status 0x2 srb status 0x82
Apr 30 01:23:26 balticnetworkstraining kernel: [645039.584178] hv_storvsc vmbus_0_4: stor pkt ffff88006eb6c700 autosense data valid — len 18
Apr 30 01:23:26 balticnetworkstraining kernel: [645039.584180] storvsc: Sense Key : Unit Attention [current]
Apr 30 01:23:26 balticnetworkstraining kernel: [645039.584183] storvsc: Add. Sense: Changed operating definition
Apr 30 01:23:26 balticnetworkstraining kernel: [645039.584198] sd 0:0:0:0: Warning! Received an indication that the operating parameters on this target have changed. The Linux SCSI layer does not automatically adjust these parameters.
This relates to the VSS «Windows Server Backup» process that kicks off at midnight on the host and finishes an hour and half later.
Yes, we do have hv_vss_daemon and hv_kvp_daemon running for the correct kernel version we have. We’re currently running kernel version 3.13.0-49-generic #83 on one system and 3.16.0-34-generic #37 on the other. — We see the same errors on both.
As a result, we’ve been hesitant to drop any more ubuntu guests on our 2012R2 hyper-v system because of this. We can stop the backup process and all is good, but we need nightly backups to image all of our VM’s. All the windows guests have no issues of course. We also have some CentOS based guests running without issues from what we’ve seen.
Источник
Троян использует «режим Бога» Windows, чтобы спрятаться в системе
Как известно, в операционной системе Windows Vista, 7, 8 и 10 есть своеобразная пасхалка — GodMode (режим Бога). Начиная с версии Vista можно создать папку со специфическим именем, которая перенаправляет на настройки Windows или служебные папки, такие как «Панель управления», «Компьютер», «Принтеры» и проч.
Например, если создать на рабочем столе папку с названием GodMode. (вместо GodMode можно указать любые символы), то внутри будут отображаться все настройки, в том числе и те, которые не включены в меню «Панели управления» или «Параметры»: скриншот.
Очень удобная фича для управления настройками в системе и для системного администрирования.
К сожалению, режим Бога используют не только сисадмины, но и авторы вирусов.
Специалисты из антивирусной компании McAfee Labs рассказывают о трояне Dynamer, который использует режим Бога, чтобы скрыться от обнаружения в системе.
Dynamer при установке записывает свои файлы в одну из таких папок внутри %AppData%. В реестре создаётся ключ, который сохраняется после перезагрузки, запуская каждый раз бинарник зловреда.
Таким образом, исполняемый файл нормально запускается по команде из реестра, но вручную зайти в эту папку нельзя: как указано в списке выше, папка <241d7c96-f8bf-4f85-b01f-e2b043341a4b>работает как ярлык на настройки «Подключение к компьютерам и программам на рабочем месте» (RemoteApp and Desktop Connections).
Вот содержимое папки, если открыть её в проводнике.
Более того, авторы трояна добавили к названию папки «com4.», так что Windows считает папку аппаратным устройством. Проводник Windows не может удалить папку с таким названием.
Аналогично, удаление невозможно из консоли.
Нормальные антивирусы обходят этот трюк вирусописателей. Чтобы удалить папку вручную, нужно запустить из консоли следующую команду.
Троян Dynamer впервые обнаружен несколько лет назад, но Microsoft до сих пор считает его «серьёзной угрозой» для пользователей Windows.
В качестве бонуса.
Список имён папок (GUID) в режиме Бога для быстрого доступа к отдельным настройкам Windows
Источник
Crash on OTA Update (IDFGH-1848) #231
I’m trying to use the 25_ota example. Unfortunately the applications crashes right after making the http request to the webserver.
So here is the last uart output from the esp32:
And here is the core dump:
To me it seems like there is a problem trying to write to the flash.
The text was updated successfully, but these errors were encountered:
I have a similar problem but on something else.
#233
I had the same issue but helped chosing [*] Run FreeRTOS only on first core option in the project config.
In addition, I must modify the checking header code in resolve_pkg function because my hello_world.bin file starts with 0xE9 0x08 instead of 0xE9 0x09.
@konrad282 you are right! there is a mini-error in header check ,we should not check second bytes which present that segment counts.
@Geend @michal037 as @konrad282 mentioned, we should change FreeRTOS work on first core at make menuconfig ,while there are some control-logic errors when working on dual core.
So this is a bug? And it will be fixed?
I am trying to use esp_ota_begin from arduino core . i guess it won’t work there as i can’t force FreeRTOS to run on first core only ? or is there a way ? (sorry i know its not the right forum, but it is somehow related, and fixing the issue with running this on multiple cores should solve my problem as well)
Hi, this problem should have been solved now, isn’t it?
yup, seems to work well with the latest esp-idf
I’m still getting error with the latest esp-idf.
It fails with the error:
I (4984) ota: Connected to http server
I (4984) ota: Send GET request to server succeeded
I (4994) ota: Writing to partition subtype 16 at offset 0x110000
I (5554) ota: esp_ota_begin succeeded
E (5554) esp_ota_ops: OTA image has invalid magic byte (expected 0xE9, saw 0x3c
E (5554) ota: Error: esp_ota_write failed! err=0x1503
I (5554) ota: Connection closed, all packets received
I (5564) ota: Total Write binary data length : 0
E (5564) ota: esp_ota_end failed!
E (5574) ota: Exiting task due to fatal error.
Error seems to originate at
if (it-> wrote_size == 0 && size > 0 && data_bytes[ 0 ] != 0xE9 ) <
Are you in the build directory or the root directory? I got this error if I wasn’t in the build directory.
cd /path/to/project/build python -m SimpleHTTPServer 8070
@projectgus Hi
Im having the same error (#231 (comment)) when im trying to update from external server, from internet. File is accessible and is proper compiled cause from lan app can read it and write to ota partition (veeeery slow but write it).
EDIT: not very slow, it just stop after 11KB write, and ota image is hello-world example. It stall for 5 minuts now, after last log line:
For errors like this:
E (5554) esp_ota_ops: OTA image has invalid magic byte (expected 0xE9, saw 0x3c
0x3c is the ASCII code for , and suggests that the response payload is HTML not an app binary file. This usually happens if there is a HTTP server error.
Unfortunately the OTA example is only a poor imitation of an HTTP client which sends a very basic HTTP request and doesn’t check for an error in the result. We are working on an HTTP/HTTPS client library which will provide a much more useful (and safe) abstraction for HTTP connections.
Also, @chegewara has determined that the OTA example currently doesn’t send a valid HTTP/1.1 request at all. This will be updated to a valid HTTP/1.0 request, same as in the HTTP & HTTPS examples.
To diagnose problems with the OTA example:
- Look at the server logs for error responses to the HTTP request.
- Log the header response after the request and look for error messages, etc.
The proper HTTP/HTTPS client library should be available soon, and this example will be updated to use it.
Just found the issue in my ota app. I have set ota file path this way and it works from linux ubuntu 14 server from vbox on local machine (laptop), but it causes mentioned error if i try to ota flash from home server.
#define EXAMPLE_FILENAME «ota.bin»
But if i change file path to this one then i can ota flash from home server:
#define EXAMPLE_FILENAME «/ota.bin»
I have the same problem.
I do not have much knowledge about HTTP connections.
These are my tests:
From Internet :
No problem — Works fine OTA OK
downloads correctly the image.bin and upgrade the firmware
From Android:
SimpleHTTpServer — ubi.jp — Works fine OTA OK
HFS HTTP File Server 1.0 — vortexinfinitum — Works fine OTA OK
Http Server – streamingnology inc — Not works OTA error
Tiny Web Server – Leonardo Javier Russo — Not works OTA error
HTTP Server powered by Apache — Tautvydas Andrikys — Not works OTA error
IOS:
AirDisk -XUEHUI wu — Not works OTA error
Files – File Manager & Browser – Hian Zin Jong — Works fine OTA OK
Now I would like to build a custom app to perform OTA, but I would like to know what is the reason why a server works and another server does not.
Apache2 default conf. is keepalive=On.
It could cause trouble.
Simply turn it off on the server. (It has solved my issues with OTA.)
I hope this info could help you.
Just checking if ESP-IDF v3.3 implements an «error check» in the result of an HTTP request.
An OTA update sometimes doesn’t get all the binary data length.
If it does implement an «error check» I will do a more robust debug on why sometimes it does downloads full bin, and why sometimes it doesn’t.
If it doesn’t yet, I will be implementing a data length check before, and retry (by MQTT 1. Run OTA 2. URL 3. bin_size) as a work around.
Unfortunately the OTA example is only a poor imitation of an HTTP client which sends a very basic HTTP request and doesn’t check for an error in the result. We are working on an HTTP/HTTPS client library which will provide a much more useful (and safe) abstraction for HTTP connections.
The proper HTTP/HTTPS client library should be available soon, and this example will be updated to use it.
@chegewara Indeed, it is the one I am currently using.
The example works fine as described, local and over Internet Server. My question is orientated to the HTTP request used for OTA. (i.e. It doesn’t seem to be persistent in case of Response Timeout or Keep-alive Timeout, or error check.)
When you get a bin from a web server esp_http_client_fetch_headers(client) returns the size of the bin file, or -1 if any error. If there is a keep-alive timeout as it was happening to me (in the middle of reading data from http stream), then connection is closed anyway and continues with the OTA. It doesn’t verifies if the data data read is the same size as returned from the http header.
Of course it shows the errors E (19325) esp-tls: read error :-76: E (19325) TRANS_SSL: esp_tls_conn_read error, errno=No more processes followed by E (26301) esp_image: invalid segment length 0xffffffff E (26301) native_ota_example: esp_ota_end failed! E (26301) native_ota_example: Exiting task due to fatal error.
Knowing this may happen, it can be improved and get a safer version of the library.
We are working on an HTTP/HTTPS client library which will provide a much more useful (and safe) abstraction for HTTP connections.
As for now, I modified the Keep-alive parameters on the server, and double checking the OTA to be written («downloaded») has the same size as reported in http header.
Источник
@Splinter У меня другой опыт. В отличии от Вашего техпроцесса, я снимаю все чипы и сталю обратно, естественно в произвольном порядке, после перекатки платы, из 48 чипов, естественно штук 10 в непропаях и залипонах.
итак.
первое включение платы, подал 19 вольт с ограничением 3А (17про). мерять напряжение на доменах пустое дело, от 0.8 до 2.2 в. (потребление упирается в 3А и напруга падает с нагревом платы)
моя задача: обеспечить правдами и неправдами первым делом прохождение сигнала частоты через все чипы от первого до последнего.
спотыкаюсь (для определенности) с непрохождением сигнала частоты с 1 домена на 2, т.е, на выходе первого домена (передатчика) частота есть, на приемнике на входе первого чипа 2 домена частота есть, но она вся по осциллу ниже нуля, относительно второго домена в минусе соответственно) шевеление обеих чипов ни кчему не привело, с падением напряжения (т.к ограничение по току), в районе 14-15 вольт (начали выходить LDO 1.8 из стабилизации) и о чудо приемник начинает принимать сигнал тактовой корявый, искаженный, но принял…и тут меня озарило! у меня на домене передатчике 1,8 на чипах, думаю вот мне свезло, низкожрущие чипы попали в один домен, поэтому на них мало падает, разбалансировка домена вот она! все понятно.
промежуточные выводы:
1.на передатчике 1,8В, сигнал тактовой на примнике просто обязан быть ниже нуля. потому как его земля это напряжение питания передатчика.
2.при определенных условиях если понижать напряжение питания платы сигнал начинает проходить через примник, значит чип приемника исправен!!
мои действия:
беру чипов 20 свободных, сортирую на 3 кучи методом пропускания тока
1-маложрущие (0,43А почти как новые штук 3-4)
2-среднежрущие (0,6-1А хорошие их большинство)
3-сильножрущие (от 1А плохие но рабочие)
ну и дело за малым, беру сильножрущие чипы, 2шт паяю их в домен передатчика, в надежде что у меня щаз напруга на нем упадет, и все заработает, запаял, включаю — картинка никак не поменялась, ни то что ничего не проходит, так напряжение не упало на домене, ладно беру меряю выпаяные чипы, оказались во второй куче. хорошо, ставлю еще два сильножрущих чипа в этот домен, в одном домене оказались все 4 сильножрущих, напряжение на домене упало с 1.8 до 1.7 вольта, частота не проходит… в итоге, поменял приемник все закрутилось, напруга на домене упала до 1,6 помоему, частота вылезла из отрицательной зоны. вывод — входные цепи приемника были полудохлые, внутри домена этот чип заработал прекрасно.
промеры сколько жрет тока чип — фуфло. отсюда и мой скептицизм в посте выше.
промерами сопротивлений доменов ядер — думаю пустое занятие, проще в плате померять напругу на конденсаторах (выв.1-3, 30-32), она там делится четко. если гдето что то в ядрах пробито будет (ноль) где то при измерениях.
П.С я ни на что не претендую и ничего никому не хочу доказать, просто вот такой опыт.
Изменено 1 Sep 2021, 02:57 пользователем alex59
Current Behavior
My config is Matek F722-STD powered by Matek FCHUB-6S. After connecting the board to Inav configurator (first powered by battery) I’m getting i2c errors of 45 and in tasks lists max load is exceeding 100% for battery task.
Here is dump of CLI for my board:
version
INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
status
System Uptime: 65 seconds
Current Time: 2041-06-28T01:04:00.000+00:00
Voltage: 16.88V (4S battery — OK)
CPU Clock=216MHz, GYRO=MPU6500, ACC=MPU6500, BARO=BMP280, MAG=HMC5883
STM32 system clocks:
SYSCLK = 216 MHz
HCLK = 216 MHz
PCLK1 = 54 MHz
PCLK2 = 108 MHz
Sensor status: GYRO=OK, ACC=OK, MAG=OK, BARO=OK, RANGEFINDER=NONE, OPFLOW=NONE, GPS=OK
SD card: Manufacturer 0x2, 15126528kB, 06/2016, v2.4, ‘SA16G’
Filesystem: Ready
Stack size: 6144, Stack address: 0x20010000, Heap available: 1664
I2C Errors: 45, config size: 4671, max available config: 16384
ADC channel usage:
BATTERY : configured = ADC 1, used = ADC 1
RSSI : configured = ADC 3, used = none
CURRENT : configured = ADC 2, used = ADC 2
AIRSPEED : configured = none, used = none
System load: 6, cycle time: 509, PID rate: 1964, RX rate: 49, System rate: 9
Arming disabled flags: ANGLE NAV RX CLI
tasks
Task list rate/hz max/us avg/us maxload avgload total/ms
0 — SYSTEM 9 3329 4 3.4% 0.5% 24374
1 — GYRO/PID 1960 160 132 31.8% 26.3% 28619
2 — RX 49 53 41 0.7% 0.7% 237
3 — SERIAL 100 687 5 7.3% 0.5% 110
4 — BATTERY 49 40053 17 196.7% 0.5% 134
5 — TEMPERATURE 99 12 3 0.6% 0.5% 28
6 — BEEPER 99 10 4 0.5% 0.5% 48
7 — GPS 49 260 26 1.7% 0.6% 140
8 — COMPASS 9 226 219 0.7% 0.6% 245
9 — BARO 43 241 159 1.5% 1.1% 765
13 — TELEMETRY 498 17 4 1.3% 0.6% 269
16 — OSD 248 1053 44 26.6% 1.5% 1209
17 — CMS 49 5 2 0.5% 0.5% 10
20 — VTXCTRL 4 4 1 0.5% 0.5% 0
Task check function 6 2 11
Total (excluding SERIAL) 266.5% 34.4%
bootlog
Time Evt Description Parameters
3: 0 CONFIG_LOADED
3: 1 SYSTEM_INIT_DONE
259: 19 TIMER_CHANNEL_MAPPED (1, 1, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (2, 2, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (3, 3, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (4, 4, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (5, 5, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (6, 6, 0, 2)
259: 2 PWM_INIT_DONE
759: 21 TEMP_SENSOR_DETECTION
960: 9 GYRO_DETECTION (7, 0, 0, 0)
1451: 10 ACC_DETECTION (8, 0, 0, 0)
1552: 11 BARO_DETECTION (4, 0, 0, 0)
1552: 20 PITOT_DETECTION (0, 0, 0, 0)
1562: 12 MAG_DETECTION (2, 0, 0, 0)
1673: 21 TEMP_SENSOR_DETECTION
2080: 13 RANGEFINDER_DETECTION (0, 0, 0, 0)
2080: 4 SENSOR_INIT_DONE
2633: 5 GPS_INIT_DONE
2633: 7 TELEMETRY_INIT_DONE
3634: 8 SYSTEM_READY
resource
IO:
A00: SERIAL4 UART TX
A01: SERIAL4 UART RX
A02: FREE
A03: SERIAL2 UART RX
A04: FREE
A05: SPI1 SCK
A06: SPI1 MISO
A07: SPI1 MOSI
A08: MOTOR6 OUT
A09: SERIAL1 UART TX
A10: SERIAL1 UART RX
A11: USB IN
A12: USB OUT
A13: FREE
A14: LED2 OUT
A15: FREE
B00: FREE
B01: MOTOR5 OUT
B02: FREE
B03: SPI3 SCK
B04: SPI3 MISO
B05: SPI3 MOSI
B06: I2C1 SCL
B07: I2C1 SDA
B08: FREE
B09: LED1 OUT
B10: OSD CS
B11: FREE
B12: FREE
B13: SPI2 SCK
B14: SPI2 MISO
B15:
SPI2 MOSI
C00: ADC CH1
C01: SDCARD CS
C02: MPU CS
C03: MPU EXTI
C04: ADC CH2
C05: FREE
C06: MOTOR1 OUT
C07: MOTOR2 OUT
C08: MOTOR3 OUT
C09: MOTOR4 OUT
C10: FREE
C11: FREE
C12: FREE
C13: BEEPER OUT
C14: FREE
C15: FREE
D02: FREE
Entering CLI Mode, type ‘exit’ to return, or ‘help’
diff
version
INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
resources
mixer
mmix 0 1.000 -1.000 1.000 -1.000
mmix 1 1.000 -1.000 -1.000 1.000
mmix 2 1.000 1.000 1.000 1.000
mmix 3 1.000 1.000 -1.000 -1.000
servo mix
servo
feature
feature -AIRMODE
feature THR_VBAT_COMP
feature BAT_PROF_AUTOSWITCH
feature GPS
feature PWM_OUTPUT_ENABLE
beeper
map
map TAER
serial
serial 3 2 115200 115200 0 115200
led
color
mode_color
aux
aux 0 1 0 900 1250
aux 1 2 0 1300 1700
aux 2 26 0 1300 2100
aux 3 4 3 925 1250
aux 4 3 2 900 1700
aux 5 9 2 900 1275
aux 6 8 4 1700 2100
aux 7 19 1 900 1300
aux 8 21 4 900 1300
adjrange
rxrange
temp_sensor
osd_layout
osd_layout 0 0 23 1 V
osd_layout 0 1 1 12 V
osd_layout 0 2 0 0 V
osd_layout 0 4 8 6 H
osd_layout 0 11 1 10 V
osd_layout 0 12 1 11 V
osd_layout 0 13 23 6 V
osd_layout 0 14 1 1 V
osd_layout 0 15 23 5 V
osd_layout 0 30 2 13 V
osd_layout 0 34 10 1 V
osd_layout 0 44 0 0 V
master
set looptime = 500
set gyro_hardware_lpf = 256HZ
set gyro_lpf_hz = 90
set gyro_notch1_hz = 200
set gyro_notch1_cutoff = 100
set acc_hardware = MPU6500
set acczero_x = 19
set acczero_y = 2
set acczero_z = 11
set accgain_x = 4085
set accgain_y = 4083
set accgain_z = 4100
set align_mag = CW270FLIP
set mag_hardware = HMC5883
set magzero_x = 46
set magzero_y = -171
set magzero_z = 91
set baro_hardware = BMP280
set pitot_hardware = NONE
set rssi_channel = 12
set serialrx_provider = SUMD
set sdcard_detect_inverted = ON
set motor_pwm_rate = 2000
set motor_pwm_protocol = MULTISHOT
set current_meter_scale = 179
set model_preview_type = 3
set gps_provider = UBLOX7
set gps_sbas_mode = EGNOS
set inav_reset_altitude = EACH_ARM
set inav_w_z_baro_p = 0.350
set nav_rth_altitude = 3000
profile
profile 1
set mc_p_pitch = 43
set mc_i_pitch = 40
set mc_d_pitch = 20
set mc_p_roll = 43
set mc_i_roll = 40
set mc_d_roll = 20
set mc_p_yaw = 70
set dterm_lpf_hz = 80
set dterm_notch_hz = 200
set dterm_notch_cutoff = 100
set roll_rate = 50
set pitch_rate = 50
set yaw_rate = 45
battery_profile
battery_profile 1
set battery_capacity = 2200
Очередной Seagate 7200.12
Скукожился очередной Seagate. Model ST3320418AS, FirmWare CC38.
При включении раз десять щёлкает головками и останавливается.
В терминал выдаёт:
No HOST FIS-ReadyStatusFlags 2002B001
На F3 нормально выходит.
При попытке раскрутить даёт ошибку.
Elapsed Time 13.153 secs
R/W Status 2 R/W Error 84150180
В общем вот так он себя ведёт.
Это что, очередное проявление мухи ЦЦ, то есть слёта транслятора?
Поиск по No HOST FIS-ReadyStatusFlags (ihdd.ru/forum/maxtor-diamonmax-23-i-muha-ss-t8542.html) дает методику восстановления
На попытку V4 с минуту винт думал, а потом дал такую ошибку:
Failed to load overlay 00000004
Это значит, что всё, кранты, т. е. головка скукожилась, или просто вследствие слёта транслятора оверлей не читается и что всё ещё можно восстановить, если транслятор восстановится? А что вообще значат v4 и v1?
3. In the serial command line, it outputs (when PCB is detached from hard drive):
No HOST FIS-ReadyStatusFlags 2002A1A5
To use the conventional method of fixing a ‘BUSY and LBA=0’ 7200.11 hard drive, it outputs:
No HOST FIS-ReadyStatusFlags 2002A1A5
ASCII Diag mode
F3 T>/2
F3 2>Z
Spin Down Complete
Elapsed Time 6.015 secs
F3 2>
ASCII Diag mode
F3 T>/2
F3 2>U
HighPowerMode
ExecuteSpinRequest
Spin Up Complete
Elapsed Time 3.624 secs
F3 2>/1
F3 1>N1
Init SMART Fail
The initialization of SMART module is failed even though the hard drive passes the Spin up and Spin down operation. To solve this problem, instead of doing N1 to clear the SMART after comand U, we use command m0 first.
SIM Error 3005
No HOST FIS-ReadyStatusFlags 2002A1A5
ASCII Diag mode
Spin Down Complete
Elapsed Time 6.035 secs
F3 2>U
Spin Up Complete
Elapsed Time 3.573 secs
F3 2>/
F3 T>m0,2,2. 22
Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 16, Max Certify Rewr
ite Retries = not supported
User Partition Format Successful — Elapsed Time 0 mins 00 secs
Clear SMART is completed.
F3 1>
Rst 0x08M
(P) SATA Reset
сделать? Тут транслятор пересчитали и потом сбросили смарт.
Да. Забыл. Данные нужны, но не так чтобы головой об стенку биться. Какую-то, правда не очень большую, часть, говорят, нашли на флешке.
В общем, головки у него приплыли.
Насторожило —
Elapsed Time 15.338 secs
R/W Status 2 R/W Error 84150180
Хотя по звуку — нормально крутится.
Посмотрел лог раскрутки.
F3 2>
e c r = 0 0 1
e c r = 0 1 0
e c r = 0 1 1
e c r = 1 0 0
e c r = 1 0 1
e c r = 1 1 0
e c r = 1 1 1
F3 2>Z
RW cmd 0030 req = E0 AD 1B 06 EC AD 1B 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
opts = 00000000
Spin Down Complete
RW cmd 002F req = E0 AD 1B 06 EC AD 1B 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
opts = 00000000
ExecuteSpinRequest
RW Err = 84150180
RW cmd 0027 req = E0 AD 1B 06 EC AD 1B 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
opts = 00000000
RW cmd 0027 req = E0 AD 1B 06 EC AD 1B 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
opts = 00000000
RW cmd 0027 req = E0 AD 1B 06 EC AD 1B 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
opts = 00000000
RW cmd 0027 req = E0 AD 1B 06 EC AD 1B 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
opts = 00000000
RW cmd 0027 req = E0 AD 1B 06 EC AD 1B 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
opts = 00000000
RW cmd 0027 req = E0 AD 1B 06 EC AD 1B 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
opts = 00000000
RW cmd 0027 req = E0 AD 1B 06 EC AD 1B 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
opts = 00000000
DiagError 00006008
Spin Error
Elapsed Time 9.763 secs
R/W Status 2 R/W Error 84150180
Делает семь попыток чтения и выдаёт ошибку — Spin Error.
Не думаю, что это плата виновата. Скорее всего — головки.
Плату рабочую с перепайкой пзу, конечно, подкину. Но, видимо, придётся БМГ менять.
Насколько реально у таких сигейтов головки поменять? Всё таки — 12-я серия.
Источник
Understanding I2C Errors
How To Debug I²C Read And Write Problems
The imp API provides users of I²C peripheral devices (‘peripherals’) with debugging information following failed attempts to read or write data to any I²C peripheral connected to an imp. This information comes in the form of an integer constant returned by either i2c.write() or i2c.readerror(), depending on the type of operation being performed. If either method returns any value other than 0, an error has occurred. The return value indicates the nature of the error, and these errors are listed in the i2c.readerror() documentation. Should an error occur, the I²C transaction is abandoned.
This document describes these errors in more detail. They are presented in the order in which they are likely to be encountered, with those relating to write operations appearing first, followed by those issued during read operations.
The imp API makes sending and receiving data via I²C very straightforward, but ‘under the hood’ the process as is complex. As such, a single imp API I²C access may result in any one of a series of errors, depending on which stage of the process the underlying impOS™ I²C code has reached.
The I²C Protocol
Developers working with imp005-based devices should note that the following applies primarily to other imp devices. The imp005’s Broadcom SoC will report only two I²C error values: -13 and -9. The former is as described below, but the latter covers almost all of the remaining I²C errors: unfortunately, some error conditions aren’t reported at all (success is falsely indicated). We hope to improve imp005 I²C error reporting in a future version of impOS.
The Errors
Not Enabled (-13)
This is a straightforward error that is issued when you have attempted to access an imp I²C bus that has not yet been configured. Check your code and, if necessary, call i2c.configure() with a supported speed constant passed as a parameter.
Controller Select Error (-1)
The imp signals its intention to begin an I²C transaction by establishing the standard I²C start condition: it attempts to pull the SDA line low (so the waveform has a falling edge) while the SCL line remains high. If the imp is unable to pull SDA low, this error will be issued.
This error may arise if another I²C master is operating on the same bus and has taken control of it. If the imp is the only master on the bus, this error may result from poorly chosen pull-up resistors. I²C ports are open drain so can only pull the SDA and SCL lines low; pull-up resistors are required to drive the lines high when they are released by bus devices.
Transmit Select Error (-2)
After the imp has signalled start and is ready to write data to it, it sends the 7-bit address of the I²C peripheral it wants to communicate with, followed by a single bit indicating whether the transaction is a write (the imp pulls SDA low) or a read (the imp leaves SDA high). These eight bits should be acknowledged by a single-bit ACK signal from the peripheral at the transmitted address; it pulls SDA low. If the acknowledgement doesn’t occur during the ninth clock pulse, then the imp will issue this error.
If this error is encountered, check the value of the peripheral’s address that you are passing. Some devices have multiple addresses, selectable by setting an address pin to one of three states (high, low or floating). The imp API takes addresses in 8-bit form; 7-bit addresses will need to be bit-shifted left one place.
Transmit Error (-3)
BTF Error (-4)
Once the peripheral has acknowledged its readiness, the imp can begin to send the data it wants to write. Data is sent byte by byte, each one written to the imp’s data register from which it is passed to a shift register and from there out onto the bus one bit at a time. Once the peripheral has clocked in a byte of data, it should acknowledged receipt. If it fails to do so while the imp is processing any byte of the data but the last, a transmit error will be issued. If the error occurs sending the last byte, a BTF error is reported instead.
A transmit error may also be reported if the bit value clocked out is not seen on the bus, ie. the imp sends a 1, ie. it leaves the SDA line high, but the SDA line is pulled low. This could indicate bus contention — there is another master on the bus — or, more likely, that the I²C circuit’s pull-up resistors are too weak to keep the lines high.
Stop Error (-5)
Once the imp has successfully written all the data it wants to send to the peripheral (or read back all the data that it requested), it signals the completion of the transaction with a stop condition: while SCL is high, SDA is released to go high too (the waveform has a rising edge). This releases the bus for other devices to make use of it. Again, the imp checks that this stop signal has been sent correctly. If it has not, then this error will be issued.
Address Clear Error (-6)
During a read operation, the imp places on the bus the I²C address of the peripheral it wants to read data from. This event should be acknowledged by the peripheral. If it is not, the imp will return this error.
Address RXNE Error (-7)
Data RXNE Error (-8)
Controller Receive Select Error (-10)
Receive Error (-11)
BTF Receive Error (-14)
All of these errors indicate a failure to read a byte from the peripheral at some point during the read operation. This is often caused by the peripheral holding the SCL line low while it retrieves the requested byte(s) — a technique called ‘clock stretching’.
Which error you get will depend on the number of bytes you have requested to be read and on the exact point where the receive error occurred.
Reselect Error (-12)
If the imp wishes to read data from a specific peripheral register, it must first write that register’s address to the peripheral as a data value. After the register address has successfully been written, the imp initiates a read operation, to pick up the value the peripheral returns from the register. The imp switches from write mode to read mode by issuing a second start signal. Once again, it checks that it can proceed. If it is unable to do so within the timeout period, this error will be issued.
Источник
I2c rw error status 0x4198fe00
These macros are reservations for I2C.h
I2CMSP432E4_STATUS_* macros are command codes only defined in the I2CMSP432E4.h driver implementation and need to:
Macro Definition Documentation
§ I2C_STATUS_QUEUED
I2C transaction is queued but has not started.
§ I2C_STATUS_SUCCESS
Successful status code returned by I2C API.
§ I2C_STATUS_ERROR
Generic error status code returned by I2C API.
§ I2C_STATUS_UNDEFINEDCMD
#define I2C_STATUS_UNDEFINEDCMD (-2)
An error status code returned by I2C_control() for undefined command codes.
§ I2C_STATUS_TIMEOUT
I2C operation timed-out.
§ I2C_STATUS_CLOCK_TIMEOUT
#define I2C_STATUS_CLOCK_TIMEOUT (-4)
I2C serial clock line timeout.
§ I2C_STATUS_ADDR_NACK
I2C slave address not acknowledged.
§ I2C_STATUS_DATA_NACK
I2C data byte not acknowledged.
§ I2C_STATUS_ARB_LOST
I2C multi-master arbitration lost.
§ I2C_STATUS_INCOMPLETE
#define I2C_STATUS_INCOMPLETE (-8)
I2C transaction is in progress or returned without completing.
§ I2C_STATUS_BUS_BUSY
I2C bus already in use by another controller. The I2C transaction was therefore unable to start.
§ I2C_STATUS_CANCEL
I2C transaction canceled by I2C_cancel()
§ I2C_STATUS_INVALID_TRANS
#define I2C_STATUS_INVALID_TRANS (-11)
I2C transaction is invalid. This may occur if:
Источник
Arduino.ru
Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru
forum.arduino.ru
И опять про LCD и PCF8574. ну никак не запущу.
Всем добрый день. Прошу помощи. Скажу сразу — новичек. Не во всем пока разбираюсь. И не пойму в какую тему обратится(((
Начну по порядку))
Имеется Arduino UNO Rev.3 + LCD Keypad Shild от DFRobot + PCF8574AN.
На этом шилде контак RW — запаен на общий. Когда подключал «нормально» с библитекой LiquidCrystal — никаких проблем не было. Начитавшись форумов, решил попробовать включить по I2C.
Сумел RW «отодрать» от общего)))
Собирал различные схемы и заливал различные библиотеки:
Пробовал и на 0023 и на 1.0 — ничего не получается.
Несколько раз проверял монтаж. полный «зеро»
Можете подсказать — что не так.
Можете подсказать — что не так.
Нет результатов диагностики. i2cScanner — видит Вашу железку? Попробуйте запустить по i2c что-нибудь другое, заведомо рабочее.
90% что дело не в программной части, а в аппаратной. неконтакт, непропай, неверное подключение
1. Какой монтаж?
2. Как вы проверяли монтаж?
Прозвоните все линии и 5 раз перепроверьте правильность подключения.
Спасибо за ответы.
«Попробуйте запустить по i2c что-нибудь другое, заведомо рабочее.»
I2C проверял часами RTC DS1307. Все работает, вывожу время на LCD.
«90% что дело не в программной части, а в аппаратной. неконтакт, непропай, неверное подключение»
Смонтировано на монтажной плате. Монтаж проверял тестором. Проверял непосредственно на контактах LCD, Arduino и ногах микросхемы PCF8574.
Попробую все сделать с самого начала))
Может кто нибудь подскажет где скачать заведомо рабочую библиотеку на LiquidCrystal I2C.
Проверил еще раз монтаж. Все нормально.
Ничего не запустилось, не высвечивает, хоть тресни. В итоге полез в инет. Нашел следующее:
The only difference between the two is the I2C base address. The base address for the PCF8574 is 0x20 and the base address for the PCF8574A is 0x38 . The library doesn’t make any assumption as to the device being used, and it is up to the user to configure it during initialization of the application.
Я в первом посте писал, что у меня PCF8574AN
LiquidCrystal_I2C lcd(0x38,16,2);
Может кому пригодится)))
В догонку версия Arduino 1.0
Я в первом посте писал, что у меня PCF8574AN
Вам i2cScanner и должен был показать этот адрес устройства.
Да, надо было сразу пройти и не ломать голову. Спасибо.
У меня тож не работает дисплей, уже не знаю,что делать. Приобрел дисплей, который уже смонтирован с PCF8574. Все джамперы A0,A1,A2 одеты. Согласно таблицы дисплей имеет в этом случае адрес 0x40. Скачал библиотеку LiqiudCrystal_I2C.h. Подключил GNd,5V, SCL, SDA , A4 и A5 на ардуино уно. Дисплей показывает только квадраты (артефакты). Поменя местаими SCL и SDA, думал может ошибся, но дисплей не хочет работать.
Что- то я упустил?
Что- то я упустил?
Ссылку на свой дисплей и код, который заливаете.
PCF8574 бывают разные — и адреса у них разные получаются. Так что I2C сканером проверь адрес.
Это тока в мультиках рисуют на стене дверь и потом входят в нее — в жизни все по другому.
Я игрался с переборкой библиотек и адресов — запустил (правда долго игрался)
Загрузил вот этот код:
Дисплей засветился,но «Hello, World» не показывает
I2C scan показывает адресс 0x20, попробовал вставить lcd.begin (16,2)б тоже без результатно
Вот упертый. вам сюда.
заценил шутку) Display прияпаян к PCF8574, не видно,что на нем написано, что-то вроде 94V-0 , вот такой http://arduino.cc/en/uploads/Tutorial/LCD_bb.png. C-Control производитель
Значит руки не из нужного места — потому что я тоже запустил 2 дисплея и 16х2 и 20х4. Пробовал разные библиотеки, смотрел их работу — дописал вариант инита в обычную. Все нормально работает — подобных плат у меня 5 шт.
Просто производитель, делающий модуль PCF8574 для этого дисплея может его развести как угодно, то есть сам дисплей может быть подключен к PCF8574 так как взбредет в голову производителю модуля.
Поэтому может оказаться так что например шина данных так и находится в младших 4 битах, а вот EN, RW, RS могут быть подключены по другому:
ТАк же на этом модуле должен быть потенциометр регулировки контрастности, крутить пробовали?
Конечно пробовал. Может если не трудно порекомендуйте пару библиотек
Так записано в библиотеке:
На плате PCF8574 RW на 6 пине, En на 4, а Register Select на 5.
Нужно значит изменить запись в библиотеке на эту?
Тож не помогло. Вот нашел Datasheet со схемой подключения, там вроде Enable к 11 выходу подключается, Rw к 9, а RS к 10.
Поменял, тоже безрезультатно.
Может что-то упустил?
Что поменял? Для этой схемы:
Так записано в библиотеке:
Либо если в вашей библиотеке есть метод send то выглядеть он должен так:
есть в библиотеке вот что:
1. если использовать LiquidCrystal_I2C библиотеку, но у вас D4-D7 ноги дисплея подсоединены к 4-7 выводам PCF8574 то необходима правка как тут:
а конкретнее необходимо отредактировать:
портанул как раз только что эту библиотеку в свой проект (не ардуино вообще), завелось все с первого раза
на других библиотеках нужно смотреть для какого подключения она предназначена и редактировать соответствующее место где идет перетасовка старшей и младшей половины байта
Мучаю модуль с PCF8574T на борту. Адрес сканером определятся как 0x27.
Контакты на модуле прозвонил и поменял в скетче.
Результат банальный, не работает, т.е. светятся одни квадраты. Что я не так сделал?
P.S. Разобрался. Сам себе злобный буратино, не заметил непропай на RW.
UNO R3 + LCD 1602 + i2c с индексом — Т (PCF8574T)
Питание 5в Выходы подключил к А4 и А5.
Дисплей просто светиться и ничего не отображает
/*
* Displays text sent over the serial port (e.g. from the Serial Monitor) on
* an attached LCD.
* YWROBOT
*Compatible with the Arduino IDE 1.0
*Library version:1.1
*/
#include
#include
LiquidCrystal_I2C lcd(0x20,16,2); // set the LCD address to 0x20 for a 16 chars and 2 line display
Источник
The imp API provides users of I²C peripheral devices (‘peripherals’) with debugging information following failed attempts to read or write data to any I²C peripheral connected to an imp. This information comes in the form of an integer constant returned by either i2c.write() or i2c.readerror(), depending on the type of operation being performed. If either method returns any value other than 0, an error has occurred. The return value indicates the nature of the error, and these errors are listed in the i2c.readerror() documentation. Should an error occur, the I²C transaction is abandoned.
This document describes these errors in more detail. They are presented in the order in which they are likely to be encountered, with those relating to write operations appearing first, followed by those issued during read operations.
The imp API makes sending and receiving data via I²C very straightforward, but ‘under the hood’ the process as is complex. As such, a single imp API I²C access may result in any one of a series of errors, depending on which stage of the process the underlying impOS™ I²C code has reached.
The I²C Protocol
Developers working with imp005-based devices should note that the following applies primarily to other imp devices. The imp005’s Broadcom SoC will report only two I²C error values: -13 and -9. The former is as described below, but the latter covers almost all of the remaining I²C errors: unfortunately, some error conditions aren’t reported at all (success is falsely indicated). We hope to improve imp005 I²C error reporting in a future version of impOS.
The Errors
Not Enabled (-13)
This is a straightforward error that is issued when you have attempted to access an imp I²C bus that has not yet been configured. Check your code and, if necessary, call i2c.configure() with a supported speed constant passed as a parameter.
Controller Select Error (-1)
The imp signals its intention to begin an I²C transaction by establishing the standard I²C start condition: it attempts to pull the SDA line low (so the waveform has a falling edge) while the SCL line remains high. If the imp is unable to pull SDA low, this error will be issued.
This error may arise if another I²C master is operating on the same bus and has taken control of it. If the imp is the only master on the bus, this error may result from poorly chosen pull-up resistors. I²C ports are open drain so can only pull the SDA and SCL lines low; pull-up resistors are required to drive the lines high when they are released by bus devices.
Transmit Select Error (-2)
After the imp has signalled start and is ready to write data to it, it sends the 7-bit address of the I²C peripheral it wants to communicate with, followed by a single bit indicating whether the transaction is a write (the imp pulls SDA low) or a read (the imp leaves SDA high). These eight bits should be acknowledged by a single-bit ACK signal from the peripheral at the transmitted address; it pulls SDA low. If the acknowledgement doesn’t occur during the ninth clock pulse, then the imp will issue this error.
If this error is encountered, check the value of the peripheral’s address that you are passing. Some devices have multiple addresses, selectable by setting an address pin to one of three states (high, low or floating). The imp API takes addresses in 8-bit form; 7-bit addresses will need to be bit-shifted left one place.
Transmit Error (-3)
BTF Error (-4)
Once the peripheral has acknowledged its readiness, the imp can begin to send the data it wants to write. Data is sent byte by byte, each one written to the imp’s data register from which it is passed to a shift register and from there out onto the bus one bit at a time. Once the peripheral has clocked in a byte of data, it should acknowledged receipt. If it fails to do so while the imp is processing any byte of the data but the last, a transmit error will be issued. If the error occurs sending the last byte, a BTF error is reported instead.
A transmit error may also be reported if the bit value clocked out is not seen on the bus, ie. the imp sends a 1, ie. it leaves the SDA line high, but the SDA line is pulled low. This could indicate bus contention — there is another master on the bus — or, more likely, that the I²C circuit’s pull-up resistors are too weak to keep the lines high.
Stop Error (-5)
Once the imp has successfully written all the data it wants to send to the peripheral (or read back all the data that it requested), it signals the completion of the transaction with a stop condition: while SCL is high, SDA is released to go high too (the waveform has a rising edge). This releases the bus for other devices to make use of it. Again, the imp checks that this stop signal has been sent correctly. If it has not, then this error will be issued.
Address Clear Error (-6)
During a read operation, the imp places on the bus the I²C address of the peripheral it wants to read data from. This event should be acknowledged by the peripheral. If it is not, the imp will return this error.
Address RXNE Error (-7)
Data RXNE Error (-8)
Controller Receive Select Error (-10)
Receive Error (-11)
BTF Receive Error (-14)
All of these errors indicate a failure to read a byte from the peripheral at some point during the read operation. This is often caused by the peripheral holding the SCL line low while it retrieves the requested byte(s) — a technique called ‘clock stretching’.
Which error you get will depend on the number of bytes you have requested to be read and on the exact point where the receive error occurred.
Reselect Error (-12)
If the imp wishes to read data from a specific peripheral register, it must first write that register’s address to the peripheral as a data value. After the register address has successfully been written, the imp initiates a read operation, to pick up the value the peripheral returns from the register. The imp switches from write mode to read mode by issuing a second start signal. Once again, it checks that it can proceed. If it is unable to do so within the timeout period, this error will be issued.
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
trying to get AMD radeon 6450 card working
I have a truly remarkable program running under wine, Topaz Denoise AI, flat amazing for taking noise out of digital photos.
I got it running just using defaults in a manual install under Playonlinux, using default integrated Intel graphics on a 10 year old Dell with an I5-2400. Of course it is quite slow.
Attempted to get it running with an old but working Radeon 6450 GPU, not a great card, but still has twice the throughput of my integrated Intel graphics. Manual install again on my Manjaro system, adding only the «POL_Install_VideoDriver» step in the install.
Errors I get are primarily, two, one is «winediag:wined3d_get_user_override_gpu_description Invalid GPU override 1002:6778 specified, ignoring.»
and second is (repeated 3 times, «00f8:fixme:wgl:X11DRV_wglGetPixelFormatAttribivARB unsupported 2008 WGL Attribute»
I recognize I may not be able to get this card working in this instance, scanned several posts about these errors and tried loading other attributes besides just the video driver, and got new errors rather than fixing the original ones. I thought being an old card it would be well supported, but maybe it’s TOO old.
I down rated my Mesa drivers to mesa-20.3.4-3-X86_64 recently when the 21.0.0 drivers stopped the program from working at all. Most likely a Mesa bug, since the older driver works fine. I don’t think it has anything to do with the Radeon not working under this program on Wine.
Opinions?
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Sat Apr 24, 2021 12:33 pm
I have just noticed that there is an error at the end of the error log I missed, with no fixme attached.
It is this: 0094:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Sat Apr 24, 2021 1:53 pm
[mark2@mark2-optiplex790 ~]$ inxi -CG
CPU:
Info: Quad Core model: Intel Core i5-2400 bits: 64 type: MCP cache:
L2: 6 MiB
Speed: 1596 MHz min/max: 1600/3400 MHz Core speeds (MHz): 1: 1596 2: 1596
3: 1596 4: 1596
Graphics:
Device-1: AMD Caicos XT [Radeon HD 7470/8470 / R5 235/310 OEM]
driver: radeon v: kernel
Display: x11 server: X.Org 1.20.11 driver: loaded: ati,radeon
unloaded: modesetting resolution: 1920×1080~60Hz
OpenGL: renderer: AMD CAICOS (DRM 2.50.0 / 5.4.112-1-MANJARO LLVM 11.1.0)
v: 3.3 Mesa 20.3.4
[mark2@mark2-optiplex790 ~]$
I actually tried to get a login for playonlinux website, the site would report it sent me a confirming email, but it would never show up. Yes, checked my spam filter, it never happened.
I assume you just type «wine» space «path to application» to get it running? Not sure what directory to be in or subdirectory.
Wait, I see I still did this wrong, I’m still learning this site. I have to go through the links you gave me.
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Sat Apr 24, 2021 2:17 pm
Wine 6.7 was just released, Manjaro will have it available within a couple of days. I’ll run the tests and produce the logs as soon as it I can get 6.7 loaded for both recent versions of Mesa.
-
Bob Wya
- Level 12
- Posts: 3068
- Joined: Sat Oct 16, 2010 7:40 pm
Re: trying to get AMD radeon 6450 card working
Post
by Bob Wya » Sat Apr 24, 2021 2:33 pm
mlytle0 wrote: ↑Sat Apr 24, 2021 1:53 pm
[mark2@mark2-optiplex790 ~]$ inxi -CG
CPU:
Info: Quad Core model: Intel Core i5-2400 bits: 64 type: MCP cache:
L2: 6 MiB
Speed: 1596 MHz min/max: 1600/3400 MHz Core speeds (MHz): 1: 1596 2: 1596
3: 1596 4: 1596
Graphics:
Device-1: AMD Caicos XT [Radeon HD 7470/8470 / R5 235/310 OEM]
driver: radeon v: kernel
Display: x11 server: X.Org 1.20.11 driver: loaded: ati,radeon
unloaded: modesetting resolution: 1920×1080~60Hz
OpenGL: renderer: AMD CAICOS (DRM 2.50.0 / 5.4.112-1-MANJARO LLVM 11.1.0)
v: 3.3 Mesa 20.3.4
[mark2@mark2-optiplex790 ~]$I actually tried to get a login for playonlinux website, the site would report it sent me a confirming email, but it would never show up. Yes, checked my spam filter, it never happened.
I assume you just type «wine» space «path to application» to get it running? Not sure what directory to be in or subdirectory.
Wait, I see I still did this wrong, I’m still learning this site. I have to go through the links you gave me.
@mlytle0
See: Wine User’s Guide: 3 Using Wine
You could try setting a Core GL Profile (3.3) for your graphics card:
Code: Select all
wine reg add 'HKCUSoftwareWineDirect3D' /v MaxVersionGL /t REG_DWORD /d 30003
Nothing against PlayOnLinux but, unlike Lutris, development (and support) is not very active.
At least if you get stuck with vanilla wine or wine-staging, you can file a bug here.
Bob
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Sat Apr 24, 2021 5:49 pm
I did see the references to Lutris a few days ago while trying to understand my issues with this install. Wasn’t sure if Lutris is an environment that would work for anything other than games though in many ways by providing custom environments for applications, it seems superficially similar, in a good way, to PlayonLinux. I did notice it seemed more developed.
I’m dreading trying to run this application routinely from a command line, and looking for that kind of alternative.
I’ll have to study your last suggestion to try to understand what it’s doing. Still at the stage of wondering if I do something, how I will undo it if I have to. Used Linux for years but until this flirtation with wine, have never ventured too far into the command line workflow.
Mark.
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Sat Apr 24, 2021 7:29 pm
Just to mention, using mesa 21 with this application on wine takes you to this discussion, which I’ve been tracking for weeks.
viewtopic.php?f=8&t=34889
The error you get, which is a mesa bug that they’re in no hurry to fix, crashes the application with an GLXBadFBConfig error. One fix is to issue this command ‘export MESA_GL_VERSION_OVERRIDE=4.5’. Which did not work for me, so I downscaled back to the earlier package which got me working again. Adding the video card caused different problems.
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Sat Apr 24, 2021 9:10 pm
Here is the result of setting a Core GL Profile (3.3) for the graphics card after a fresh install of both playonlinux/wine 6.6 and the application itself, application seemed to almost start, but crashed right away, just as before:
Code: Select all
[04/24/21 21:46:44] - Running wine- --version (Working directory : /usr/share/playonlinux/python)
wine-6.6
PlayOnLinux logfile
-------------------
Date: 04/24/21 21:46:44
> PlayOnLinux Version
4.3.4
> uname -a
Linux mark2-optiplex790 5.4.112-1-MANJARO #1 SMP PREEMPT Wed Apr 14 07:47:45 UTC 2021 x86_64 GNU/Linux
> lsb_release -a
> wine --version
wine-6.6
> POL_WINEVERSION
> WINEPREFIX
/home/mark2/.PlayOnLinux//wineprefix/denoise
> Distribution
Manjaro Linux
> glxinfo | grep rendering
direct rendering: Yes
> glxinfo | grep renderer
GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method,
GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer,
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: AMD CAICOS (DRM 2.50.0 / 5.4.112-1-MANJARO, LLVM 11.1.0)
> OpenGL libs (Direct rendering testing)
check_dd_x86 missing, test skipped
check_dd_amd64 missing, test skipped
[04/24/21 21:46:45] - This is a 64bits prefix!
[04/24/21 21:46:50] - Running wine- cmd /c echo %ProgramFiles% (Working directory : /usr/share/playonlinux/python)
C:Program Files (x86)
[04/24/21 21:48:21] - ----- Starting function POL_Install_VideoDriver -----
[04/24/21 21:48:22] - Running wine- regedit /home/mark2/.PlayOnLinux//tmp/VGA_ID_fix.reg (Working directory : /home/mark2/.PlayOnLinux/tmp)
[04/24/21 21:48:22] - Content of /home/mark2/.PlayOnLinux//tmp/VGA_ID_fix.reg
-----------
REGEDIT4
[HKEY_CURRENT_USERSoftwareWineDirect3D]
"VideoPCIVendorID"=dword:00001002
"VideoPCIDeviceID"=dword:00006778
"VideoDriver"="ati2dvag.dll"
-----------
[04/24/21 21:48:22] - ----- Ending function POL_Install_VideoDriver -----
0094:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003
[04/24/21 21:48:41] - Running wine- /home/mark2/Downloads/TopazSharpenAI-3.0.3-windows-x64-Online-Installer.exe (Working directory : /)
00f8:fixme:font:find_matching_face Untranslated charset 255
00f8:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
00f8:fixme:imm:ImmReleaseContext (0000000000130074, 00000000010E6450): stub
0124:fixme:winsock:server_ioctl_sock Unsupported ioctl 4004747b (device=4004 access=1 func=d1e method=3)
0124:fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (SIO_IDEAL_SEND_BACKLOG_QUERY)
0130:fixme:winsock:server_ioctl_sock Unsupported ioctl 4004747b (device=4004 access=1 func=d1e method=3)
0130:fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (SIO_IDEAL_SEND_BACKLOG_QUERY)
0094:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003
[04/24/21 21:50:02] - Running wine- cmd /c echo %ProgramFiles% (Working directory : /usr/share/playonlinux/python)
C:Program Files (x86)
[04/24/21 21:50:33] - ----- Starting function POL_Install_VideoDriver -----
[04/24/21 21:50:34] - Running wine- regedit /home/mark2/.PlayOnLinux//tmp/VGA_ID_fix.reg (Working directory : /home/mark2/.PlayOnLinux/tmp)
[04/24/21 21:50:34] - Content of /home/mark2/.PlayOnLinux//tmp/VGA_ID_fix.reg
-----------
REGEDIT4
[HKEY_CURRENT_USERSoftwareWineDirect3D]
"VideoPCIVendorID"=dword:00001002
"VideoPCIDeviceID"=dword:00006778
"VideoDriver"="ati2dvag.dll"
-----------
[04/24/21 21:50:34] - ----- Ending function POL_Install_VideoDriver -----
[04/24/21 21:50:53] - Running wine- /home/mark2/Downloads/TopazDeNoiseAI-3.0.3-windows-x64-Online-Installer.exe (Working directory : /)
00fc:fixme:font:find_matching_face Untranslated charset 255
00fc:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
00fc:fixme:imm:ImmReleaseContext (0000000000130074, 0000000003D84640): stub
0148:fixme:winsock:server_ioctl_sock Unsupported ioctl 4004747b (device=4004 access=1 func=d1e method=3)
0148:fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (SIO_IDEAL_SEND_BACKLOG_QUERY)
0154:fixme:winsock:server_ioctl_sock Unsupported ioctl 4004747b (device=4004 access=1 func=d1e method=3)
0154:fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (SIO_IDEAL_SEND_BACKLOG_QUERY)
0184:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
0184:fixme:advapi:DecryptFileW (L"C:\windows\Temp\{010613D3-3801-406D-9595-3A38C9E0617A}\", 00000000): stub
0190:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
0190:fixme:advapi:DecryptFileW (L"C:\windows\Temp\{F57B9DC5-B5C4-48D4-AAE2-ECFDD33076B5}\", 00000000): stub
019c:fixme:shell:SHAutoComplete stub
0190:fixme:advapi:DecryptFileW (L"C:\windows\Temp\{F57B9DC5-B5C4-48D4-AAE2-ECFDD33076B5}\", 00000000): stub
0190:fixme:exec:SHELL_execute flags ignored: 0x00000100
01a4:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
01a4:fixme:ole:CoInitializeSecurity 0021F5E8, -1, 00000000, 00000000, 6, 2, 00000000, 12288, 00000000 stub
01a4:fixme:wuapi:automatic_updates_Pause
01a4:fixme:sfc:SRSetRestorePointW 0021F4B0 0021F6C0
01b0:fixme:advapi:DecryptFileW (L"C:\ProgramData\Package Cache\{7D0362D5-C699-4403-BC09-0C1DAD1D93AB}v14.28.29325\packages\vcRuntimeMinimum_amd64\vc_runtimeMinimum_x64.msi", 00000000): stub
01b0:fixme:advapi:DecryptFileW (L"C:\ProgramData\Package Cache\{7D0362D5-C699-4403-BC09-0C1DAD1D93AB}v14.28.29325\packages\vcRuntimeMinimum_amd64\cab1.cab", 00000000): stub
01b0:fixme:advapi:DecryptFileW (L"C:\ProgramData\Package Cache\{26AF0C35-55EC-4025-8D83-349E8FB1419F}v14.28.29325\packages\vcRuntimeAdditional_amd64\vc_runtimeAdditional_x64.msi", 00000000): stu01b0:fixme:advapi:DecryptFileW (L"C:\ProgramData\Package Cache\{26AF0C35-55EC-4025-8D83-349E8FB1419F}v14.28.29325\packages\vcRuntimeAdditional_amd64\cab1.cab", 00000000): stub
01a4:fixme:file:NtLockFile I/O completion on lock not implemented yet
01a4:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
01a4:err:mscoree:LoadLibraryShim error reading registry key for installroot
01a4:err:mscoree:LoadLibraryShim error reading registry key for installroot
01a4:err:mscoree:LoadLibraryShim error reading registry key for installroot
01a4:err:mscoree:LoadLibraryShim error reading registry key for installroot
01a4:err:mscoree:LoadLibraryShim error reading registry key for installroot
01a4:err:mscoree:LoadLibraryShim error reading registry key for installroot
01a4:err:mscoree:LoadLibraryShim error reading registry key for installroot
01a4:err:mscoree:LoadLibraryShim error reading registry key for installroot
01a4:fixme:wuapi:automatic_updates_Resume
01a4:fixme:ver:GetCurrentPackageId (0021FE94 00000000): stub
0190:fixme:ver:GetCurrentPackageId (0021FE94 00000000): stub
0184:fixme:ver:GetCurrentPackageId (0021FE94 00000000): stub
0200:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (000000000011F9F0 1 C) semi-stub
0090:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003
[04/24/21 22:02:47] - Running wine- winepath -u C:\users\mark2\Desktop (Working directory : /home/mark2/.PlayOnLinux/wineprefix/denoise/drive_c)
/home/mark2/.PlayOnLinux//wineprefix/denoise/dosdevices/c:/users/mark2/Desktop
[04/24/21 22:04:37] - Running wine- Topaz DeNoise AI.exe (Working directory : /home/mark2/.PlayOnLinux/wineprefix/denoise/drive_c/Program Files/Topaz Labs LLC/Topaz DeNoise AI)
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Sat Apr 24, 2021 9:50 pm
O.K. so this program is containerized in a sandbox and has a start.exe file placed twice, once in /usr/lib/wine and once in /usr/lib32/wine .
I cd to the former location and ran wine start.exe and it opened up another terminal with Microsoft Windows 6.1.7601 (?) and skips a couple of lines and gives a prompt: z:/usr/lib/wine. It didn’t start the application.
Doing the same thing in /usr/lib32/wine gives the same result, except the z prompt reflects the different directory z:/usr/lib32/wine
I found out this was a major hiccup in wine 6.5, which altered the acceptance of that placement of the start.exe file, breaking many programs, mine included. So within playonlinux, I changed the wine version to 6.4 to escape this problem. In wine 6.6 this has been fixed. Full explanation here: «There was a recent comment thread on what happened: start.exe was previously placed in a legacy location (drive_c/windows/command). However, a change in 6.5 made Wine more strict about properly running programs from their intended location.»
But with this structure, I don’t know how to run this from a terminal, so it might not be possible to troubleshoot this at all. I don’t know how to work around this start.exe structure.
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Tue Apr 27, 2021 5:14 pm
While I experiment with shell scripts to use wine outside of the playonlinux environment, I have found by looking at the available log files, that one error that continually shows up no matter what I try, is this alert about wglGetPixelFormatAttribivARB, over and over. This is provided through the agency of the Gdi32.dll.
https://docs.microsoft.com/en-us/window … ixelformat
Gdi32.dll is a .dll that is IMPORTED by this application, from the Windows environment. Recent bug being fixed in Wine 6.7 has something to do with unavailability or missing .dlls. Since this application is sandboxed in order to run, it is miserable to try and figure out if the .dll has been successfully provided. Trying now to figure that out.
In addition, the terminating error on most runs, «0094:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003», I have found is defined in the RPC codes, and this one specifically means ‘unknown interface’
This process is flying blind, can’t even recognize the GPU, in spite of me loading a driver. It sounds like information is missing.
Code: Select all
00fc:fixme:wgl:X11DRV_wglGetPixelFormatAttribivARB unsupported 2008 WGL Attribute
00fc:fixme:nls:get_dummy_preferred_ui_language (0x8 000000000011EFE0 000000000011EF30 000000000011EFE8) returning a dummy value (current locale)
00fc:fixme:file:NtLockFile I/O completion on lock not implemented yet
0114:fixme:file:NtLockFile I/O completion on lock not implemented yet
0114:fixme:process:SetProcessShutdownParameters (00000100, 00000001): partial stub.
00fc:fixme:wgl:X11DRV_wglGetPixelFormatAttribivARB unsupported 2008 WGL Attribute
0138:fixme:wgl:X11DRV_wglGetPixelFormatAttribivARB unsupported 2008 WGL Attribute
00fc:fixme:dwmapi:DwmEnableBlurBehindWindow 0000000000020080 000000000011B220
0114:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 000000000011FD70
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Thu Apr 29, 2021 8:19 am
Finally realised I should look in the registry to see what it said about my video card. Duh.
It doesn’t know I have one. It’s not detected at all, which explains everything, except what I can do about it.
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Thu Apr 29, 2021 8:35 am
Bob Wya wrote: ↑Sat Apr 24, 2021 2:33 pm
mlytle0 wrote: ↑Sat Apr 24, 2021 1:53 pm
[mark2@mark2-optiplex790 ~]$ inxi -CG
CPU:
Info: Quad Core model: Intel Core i5-2400 bits: 64 type: MCP cache:
L2: 6 MiB
Speed: 1596 MHz min/max: 1600/3400 MHz Core speeds (MHz): 1: 1596 2: 1596
3: 1596 4: 1596
Graphics:
Device-1: AMD Caicos XT [Radeon HD 7470/8470 / R5 235/310 OEM]
driver: radeon v: kernel
Display: x11 server: X.Org 1.20.11 driver: loaded: ati,radeon
unloaded: modesetting resolution: 1920×1080~60Hz
OpenGL: renderer: AMD CAICOS (DRM 2.50.0 / 5.4.112-1-MANJARO LLVM 11.1.0)
v: 3.3 Mesa 20.3.4
[mark2@mark2-optiplex790 ~]$I actually tried to get a login for playonlinux website, the site would report it sent me a confirming email, but it would never show up. Yes, checked my spam filter, it never happened.
I assume you just type «wine» space «path to application» to get it running? Not sure what directory to be in or subdirectory.
Wait, I see I still did this wrong, I’m still learning this site. I have to go through the links you gave me.
@mlytle0
See: Wine User’s Guide: 3 Using Wine
You could try setting a Core GL Profile (3.3) for your graphics card:
Code: Select all
wine reg add 'HKCUSoftwareWineDirect3D' /v MaxVersionGL /t REG_DWORD /d 30003
Nothing against PlayOnLinux but, unlike Lutris, development (and support) is not very active.
At least if you get stuck with vanilla wine or wine-staging, you can file a bug here.
Bob
Looks like my wine registry says the card doesn’t exist. May not be a wine problem at all. Is this a generic problem with older AMD cards? I think I found one of your earlier conversations with someone having a similar problem.
I read here on this site that » A set of global settings is stored in the wine.inf file and is processed by the rundll32.exe program. The first time you run Wine the wine.inf file gets processed to populate the initial registry.» So if the .dll is supplied by wine it must not be able to communicate with the video card even though linux is using it successfully. The error I keep getting is, «RpcReceive we got fault packet with status 0x1c010003». I found out what this Rpc code refers to, and that hex number means «unknown interface:. Wine has no idea what this card is.
-
mlytle0
- Level 2
- Posts: 21
- Joined: Sat Apr 17, 2021 5:53 pm
Re: trying to get AMD radeon 6450 card working
Post
by mlytle0 » Thu Apr 29, 2021 11:44 pm
Last post. I believe this card is a lost cause. I checked the bios to make sure the computer would allow the AMD card to take over the GPU function from the Intel graphics. Such a setting did exist, I set it the right way, thinking that would do the trick as I’ve tried everything else. No dice. Then someone over at LinuxQuestions.org, gave me more info.
The driver situation for older cards, is a mess.
https://www.linuxquestions.org/question … mer-38306/