Editing Talk:Hardware flashing
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
== | == Testreport table== | ||
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable sortable" style="border:1px solid #999; border-collapse: collapse;" | {| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable sortable" style="border:1px solid #999; border-collapse: collapse;" | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
! Board !! Flash !! Dumping !! Writing !! Remarks | ! Board !! Flash !! Dumping !! Writing !! Remarks | ||
|- | |- | ||
| COK-001 || 2x Samsung | | COK-001 || 2x Samsung K9F1G08U0A-PIB0 || || || | ||
|- | |- | ||
| COK-002 || 2x Samsung K9F1G08U0A-PIB0 || | | COK-002 || 2x Samsung K9F1G08U0A-PIB0 || || || | ||
|- | |- | ||
| SEM-001 || 2x Samsung K9F1G08UOB-PIB0 || || || | | SEM-001 || 2x Samsung K9F1G08UOB-PIB0 || || || | ||
|- | |- | ||
| SEM-001 || 2x Samsung K9F1G08UOB-PIB0 || {{Yes}} || {{No}} || <small>''sel99'' : CECHG / SEM-001 - 1-875-384-31 - can dump both NANDs fine, have trouble writing. both with Infectus and Progskeet. Boards below CECHG / SEM-001 flash fine.</small> | | SEM-001 || 2x Samsung K9F1G08UOB-PIB0 || {{Yes}} || {{No}} || <small>''sel99'' : CECHG / SEM-001 - 1-875-384-31 - can dump both NANDs fine, have trouble writing. both with Infectus and Progskeet. Boards below CECHG / SEM-001 flash fine.</small> | ||
Line 351: | Line 16: | ||
|- | |- | ||
| DIA-001 || 1x Spansion S29GL128N90TFIR2 || || || | | DIA-001 || 1x Spansion S29GL128N90TFIR2 || || || | ||
|- | |- | ||
| DIA-001 || 1x Spansion S29GL128N90TFIR2 || {{Yes}} || {{No}} || <small>''delsol'' : flasher still freeze at sector0 (A&B) dumping seems to works (A&B). Same result with and without resistors. Tried on winxp-sp2 and win7. // The best results i got was using the 9k & 100k resistors. the flash is unuseable but ProgSkeet_110819 doesen´t freeze anymore. // I have tried Teensy and NORway0.3: dumping of nor works fine, but everytime when i tried to flash, the pc loose usb-connection to Teensy</small> | | DIA-001 || 1x Spansion S29GL128N90TFIR2 || {{Yes}} || {{No}} || <small>''delsol'' : flasher still freeze at sector0 (A&B) dumping seems to works (A&B). Same result with and without resistors. Tried on winxp-sp2 and win7. // The best results i got was using the 9k & 100k resistors. the flash is unuseable but ProgSkeet_110819 doesen´t freeze anymore. // I have tried Teensy and NORway0.3: dumping of nor works fine, but everytime when i tried to flash, the pc loose usb-connection to Teensy</small> | ||
|- | |- | ||
| DIA- | | DIA-002 || 1x Spansion S29GL128N90TFIR2 || || || | ||
| | |||
| | |||
|- | |- | ||
| VER-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''kado'' : Downgrading 3.70 to 3.55 success with progskeet (differ ON, No special trick) </small> | | VER-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''kado'' : Downgrading 3.70 to 3.55 success with progskeet (differ ON, No special trick) </small> | ||
Line 372: | Line 29: | ||
| VER-001 || 1x Samsung K8Q2815UQB-PI4B || {{Yes}} || {{Yes}} || <small>''Ir0nmanNB'' : Used all gnds listed on the diagram. Used 3.3V pull-up, also had R7 with switch AND R8 bridged. Disconnect USB from PC and with R7 open turn PS3 on, count to 20 and close R7 then plug in USB to PC. Then open up WinSkeet4000 and write. Use 110819 for the early sectors if they fail to write, using 4/4096, differential, alternate, verify, and byteswap. Then try again with Winskeet4000, using Samsung preset then go to NOR tab and change it to 128/128.</small> | | VER-001 || 1x Samsung K8Q2815UQB-PI4B || {{Yes}} || {{Yes}} || <small>''Ir0nmanNB'' : Used all gnds listed on the diagram. Used 3.3V pull-up, also had R7 with switch AND R8 bridged. Disconnect USB from PC and with R7 open turn PS3 on, count to 20 and close R7 then plug in USB to PC. Then open up WinSkeet4000 and write. Use 110819 for the early sectors if they fail to write, using 4/4096, differential, alternate, verify, and byteswap. Then try again with Winskeet4000, using Samsung preset then go to NOR tab and change it to 128/128.</small> | ||
|- | |- | ||
| VER-001 || 1x Samsung K8Q2815UQB-PI4B || {{Yes}} || {{Yes}} || <small>''Ryd3R'' : Starting from NORway v0.4 Beta W/R fully supported). | | VER-001 || 1x Samsung K8Q2815UQB-PI4B || {{Yes}} || {{Yes}} || <small>''Ryd3R'' : Starting from NORway v0.4 Beta W/R fully supported ) .</small> | ||
|- | |- | ||
| VER-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{ | | VER-001 || <span style="background:#f0f0f0; color:Red;">1x Spansion S29GL128P90TFIR2</span> || {{Yes}} || {{No}} || <small>''toxie'' : tried 128k/128 , 4k/4096. writing without alt. all FF, with alt some random patterns with 00 and FF when writing all 00. Trying A/B trick, still at Programming Sector 0</small> | ||
|- | |- | ||
| VER-001 || 1x Spansion S29GL128N90TFIR2 || {{Yes}} || {{No}} || <small>''ares'' : tried 128k/128. With normal method a lot ff and same byte match. With alternate method 00 and ff and some byte match. Without resistor trick programmer freeze programming sector 0. with 100k and 9k resistor i can write but with errors (programmer completes the write, but the dump is all 00 ff, only few byte match, this with alternatemethod). with a/b tick's programmer (version A and B ) it freeze on programming sector 0 (both with or without resistors)</small> | | VER-001 || 1x Spansion S29GL128N90TFIR2 || {{Yes}} || {{No}} || <small>''ares'' : tried 128k/128. With normal method a lot ff and same byte match. With alternate method 00 and ff and some byte match. Without resistor trick programmer freeze programming sector 0. with 100k and 9k resistor i can write but with errors (programmer completes the write, but the dump is all 00 ff, only few byte match, this with alternatemethod). with a/b tick's programmer (version A and B ) it freeze on programming sector 0 (both with or without resistors)</small> | ||
|- | |- | ||
| DYN-001 || 1x Samsung K8Q2815UQB-PI4B || {{Yes}} ||{{No}} || <small>''yrr'' : tried 128k/128 , 4k/4096, WinSkeet40000,ProgSkeet_110819. It writes ok till sector 64(128k/128) or 08004D0xH in the dump file. From that point on no changes. No write no erase. Tried also the 10k/100k resistor trick. All the same result.</small> | |||
| DYN-001 || 1x Samsung K8Q2815UQB-PI4B || {{Yes}} || {{No}} || <small>''yrr'' : tried 128k/128 , 4k/4096, WinSkeet40000,ProgSkeet_110819. It writes ok till sector 64(128k/128) or 08004D0xH in the dump file. From that point on no changes. No write no erase. Tried also the 10k/100k resistor trick. All the same result.</small> | |||
|- | |- | ||
| DYN-001 || 1x Spansion S29GL128P90TFIR2 || || || | | DYN-001 || 1x Spansion S29GL128P90TFIR2 || || || | ||
|- | |- | ||
| DYN-001 || 1x Macronix MX29GL128ELT2I-90G || {{Yes}} || {{Yes}} || <small>''Ryd3R'' : NORway 0.3 fully support R/W on Macronix MX29GL128ELT2I-90G.</small> | | DYN-001 || 1x Macronix MX29GL128ELT2I-90G || {{Yes}} || {{Yes}} || <small>''Ryd3R'' : NORway 0.3 fully support R/W on Macronix MX29GL128ELT2I-90G.</small> | ||
|- | |- | ||
| DYN-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''Xb0xGuru'' : Downgrade successful. 100k/10k resistor trick used, Winskeet 40000 used (10 September 2011, 21:14:56)</small> | | DYN-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''Xb0xGuru'' : Downgrade successful. 100k/10k resistor trick used, Winskeet 40000 used (10 September 2011, 21:14:56)</small> | ||
|- | |- | ||
| DYN-001 || 1x Macronix MX29GL128ELT2I-90G || {{Yes}} || {{Yes}} || <small>''calimba'' : Downgrade succesfull, used progskeet.</small> | | DYN-001 || 1x Macronix MX29GL128ELT2I-90G || {{Yes}} || {{Yes}} || <small>''calimba'' : Downgrade succesfull, used progskeet.</small> | ||
|- | |- | ||
| SUR-001 || 1x Macronix MX29GL128ELT2I-90G || {{Yes}} || {{Yes}} || <small>''kado'' : Downgrade succesfull, used newest WT-port, nor pinout same as JSD-001</small> | | SUR-001 || 1x Macronix MX29GL128ELT2I-90G || {{Yes}} || {{Yes}} || <small>''kado'' : Downgrade succesfull, used newest WT-port, nor pinout same as JSD-001</small> | ||
|- | |- | ||
| JTP-001 || 1x Spansion S29GL128P90TFIR2 || || || | | JTP-001 || 1x Spansion S29GL128P90TFIR2 || || || | ||
|- | |- | ||
| JTP-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''drako_'' : success downgrading from 3.70 to 3.55 with wiring according to JSD-001 diagram, with 5 grounds and settings 128K/128 (progskeet).</small> | | JTP-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''drako_'' : success downgrading from 3.70 to 3.55 with wiring according to JSD-001 diagram, with 5 grounds and settings 128K/128 (progskeet).</small> | ||
|- | |- | ||
| JTP-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''Ryd3R'' : success downgrading from 3.70 to 3.55 with wiring according to JSD-001 diagram NORway v0.3 .</small> | | JTP-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''Ryd3R'' : success downgrading from 3.70 to 3.55 with wiring according to JSD-001 diagram NORway v0.3 .</small> | ||
|- | |- | ||
| | | JSD-001 ||1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''dodther'' : Downgrade succesfull. used progskeet and winskeet40000</small> | ||
|- | |- | ||
| | | JSD-001 ||1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || <small>''yrr'' : Downgrade succesfull. used progskeet and winskeet40000</small> | ||
|- | |- | ||
| | | JSD-001 ||1x Samsung K8P2716UZC-QI4D || {{Yes}} || {{Yes}} || <small>''kado'' : Downgrade succesfull with special trick</small> | ||
|- | |- | ||
| JSD-001 || 1x | | JSD-001 ||1x Samsung K8P2716UZC-QI4D || {{Yes}} || {{Yes}} || <small>''petrm79'' : factory 3.56, 320gb, cech-250.b, console code 1a, standart solder without resistors etc. nor samsung (flash 128/128). using latest qt port. check alt. meth., downgrade using dospiedra v2 (manual paste), rogero.pup</small> | ||
|- | |- | ||
| JSD-001 || 1x | | JSD-001 ||1x Samsung K8P2716UZC-QI4D || {{Yes}} || {{Yes}} || <small>''Ryd3R'' : NORway 0.3 fully support R/W on Samsung K8P2716UZC-QI4D.</small> | ||
|- | |- | ||
| JSD-001 || 1x | | JSD-001 ||1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} || | ||
<small>''kado'' : Downgrading 3.70 to 3.55 success with progskeet (differ ON, alter ON) ''NOTE: THIS BOARD HAS different lengt normally (lenght is E990)''</small> | |||
|- | |- | ||
| | | KTE-001 || 1x Spansion S29GL128P90TFIR2 || || || | ||
|- | |- | ||
| KTE-001 || 1x Macronix MX29GL128ELT2I-90G || || || | |||
| KTE-001 || 1x Macronix MX29GL128ELT2I-90G || | |||
|- | |- | ||
| EXA-MPLE || 1x dummy || {{Yes}} || {{No}} || <small>''example'' : Tried 128/128 and 4K/4096, resistor and A/B trick, always freezes on first sector</small> | | EXA-MPLE || 1x dummy || {{Yes}} || {{No}} || <small>''example'' : Tried 128/128 and 4K/4096, resistor and A/B trick, always freezes on first sector</small> | ||
|- | |- | ||
|} | |} | ||
== Pretesters == | == Pretesters == | ||
Line 505: | Line 101: | ||
without pullup: rdy ---[100kOhm]--- nor_rdy | without pullup: rdy ---[100kOhm]--- nor_rdy | ||
with pullup: 3.3V---[10kOhm]---rdy---[100kOhm]----nor_rdy | with pullup: 3.3V---[10kOhm]---rdy---[100kOhm]----nor_rdy | ||
<Xb0xGuru> <uf6667> - would the 100k help with flashing past 2048 on Samsung NORs ? | |||
<uf6667> yes :) | |||
<uf6667> you gotta use alternate write method: single word | |||
<uf6667> to be sure | |||
<uf6667> use the NEWEST FLASHER | |||
<uf6667> posted above (Progskeet QT port) | |||
== | == E3 Flasher related == | ||
http://imageshack.us/f/221/coverboardfronts.jpg/ | |||
Front of E3: | |||
* microSD slot | |||
** Start button | |||
** Stop button | |||
** LED: flash fun? | |||
** LED:PS1 mode | |||
** Switch? | |||
** LED: CFW | |||
** LED: OFW | |||
** Switch? | |||
** LED: Backup | |||
** LED: Prog | |||
** Switch? | |||
* marking: Backup | |||
** LED: OB Flash | |||
** MicroSD | |||
** Switch? | |||
** LED: ON Flash | |||
** LED: PS3Flash | |||
** Switch? | |||
* marking: Prog | |||
** LED: Unlock | |||
** LED: Lock | |||
* ESATA Plug | |||
* microUSB Plug | |||
See it all here: http://www.youtube.com/watch?v=-FJsuc_uAjc | |||
Maximum harddrive 2.5TB according to E3 website (currently down) | |||
Dual Boot 3.7OFW and 3.55CFW on same PS3 | |||
Downgrade 3.7 to 3.55 in 5min | |||
16M NOR FLASH ON board | |||
3 save MODE, can save data in TF, NOR FLASH on board and PC HD | |||
1 KEY operation, simple is best | |||
Upgradable from TF card or PC USB | |||
Compatiable all device like PS3/WII/XBOX360/MP3/DVD/BD/MP4/Table PC which has NAND or NOR flash memory. | |||
Integrated lots of interface, perfectly extension, will have more function with future new E3 accessory. | |||
E3 flasher Limited version includes 8 accessory, suggested retail price $88 USD, total production run only 3000 units! | |||
== Problematic Samsung / Spansion N related == | == Problematic Samsung / Spansion N related == | ||
Line 576: | Line 189: | ||
<kado> hope you can make this clear eusss, and explaint to all people | <kado> hope you can make this clear eusss, and explaint to all people | ||
<kado> next secreet for | <kado> next secreet for SAMSUNG Q, pls make note : | ||
<kado> check your #WE shold be 'L' | <kado> check your #WE shold be 'L' | ||
<kado> and RESET should be 'H' | <kado> and RESET should be 'H' | ||
<eussNL> isnt that default kado? because Samsung Q | <eussNL> isnt that default kado? because Samsung Q already works fine afaik | ||
<kado> once again no RESISTOR trick | <kado> once again no RESISTOR trick | ||
<kado> i always use 110819 | <kado> i always use 110819 | ||
Line 587: | Line 200: | ||
<kado> eus: the flasher could not emulated that point | <kado> eus: the flasher could not emulated that point | ||
<eussNL> kado, the QT port is the current one, the other is ment to be no longer maintained if I got it right | <eussNL> kado, the QT port is the current one, the other is ment to be no longer maintained if I got it right | ||
== Read CFI data == | == Read CFI data == | ||
Line 635: | Line 216: | ||
<Ago> but we think the samsung problems and maybe the spansion n problems are because of that | <Ago> but we think the samsung problems and maybe the spansion n problems are because of that | ||
http://static.loping.net/private/ps3 | http://static.loping.net/private/ps3/Spansion S29GL128N90TFIR2.cfi | ||
http://static.loping.net/private/ps3 | http://static.loping.net/private/ps3/Spansion S29GL128P90TFIR2.cfi | ||
http://static.loping.net/private/ps3 | http://static.loping.net/private/ps3/Samsung K8Q2815UQB-PI4B.cfi | ||
http://static.loping.net/private/ps3 | http://static.loping.net/private/ps3/Macronix MX29GL128ELT2I-90G.cfi | ||
== Offboard flashing / Replacement NOR talk == | == Offboard flashing / Replacement NOR talk == | ||
Line 667: | Line 248: | ||
like RY/BY, which was the target of the resistor trickery | like RY/BY, which was the target of the resistor trickery | ||
<eussNL> DYN-001 works fine with Macronic Xb0xGuru | <eussNL> DYN-001 works fine with Macronic Xb0xGuru | ||
<eussNL> see http://www. | <eussNL> see http://www.ps3devwiki.com/index.php?title=Talk:Hardware_flashing#Testreport_table | ||
for the patterns of problems | for the patterns of problems | ||
<eussNL> you can use others flash too, | <eussNL> you can use others flash too, | ||
the one I list there is just the one Sony used on a different version of the board. | the one I list there is just the one Sony used on a different version of the board. | ||
See http://www. | See http://www.ps3devwiki.com/index.php?title=Flash_%28Hardware%29#NOR | ||
for all the current NORs used | for all the current NORs used | ||
(and stay away from dualbanked and perhaps ¨N¨ serie spansion too) | (and stay away from dualbanked and perhaps ¨N¨ serie spansion too) | ||
Line 694: | Line 275: | ||
Heavily edited log. Interesting read IMO | Heavily edited log. Interesting read IMO | ||
== | == RSOD related == | ||
http:// | <kado> i want to confirm about RSOD | ||
<kado> my english is bad, but i want you can tell to evryone | |||
<kado> there is 2 types of RSOD | |||
<kado> 1.come from CFW 2.from OFW | |||
<kado> if coused by CFW we should patch the cVTRM | |||
<kado> and if coused by OFW we should patch the core_OS. and use the last official Core_OS | |||
<kado> btw, i have fix this 2pcs off RSOD today | |||
<kado> guys here i upload 3.55 board ver-001 (including here are OFW,CFW, service Mode dump) | |||
<kado> its all for studying RSOD | |||
<kado> http://www.sendspace.com/file/ywvmox | |||
<kado> you can compare with them, if you have RSOD come from ofw 3.55 | |||
== | |||
== Comparison == | |||
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable sortable" style="border:1px solid #999; border-collapse: collapse;" | |||
|- bgcolor="#cccccc" | |||
! Feature !! Infectus !! PNM !! progskeet !! Teensy2.0++<br />NORway !! PIC32 !! E3 !! Remarks | |||
|- | |||
| Use CFI || ? || {{Yes}} || {{No}} || {{No}} || ? || ? || Common Flash Memory Interface writing strategies | |||
|- | |||
| NAND Support || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || | |||
|- | |||
| NOR Support || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || | |||
|- | |||
| Solderless || {{No}} || || {{No}} || {{No}} || {{No}} || {{Yes}} || Solderless is optional for E3. Announced for progskeet near future. | |||
|- | |||
| OpenSource || {{No}} || || {{No}} || {{Yes}} || {{Yes}} || {{No}} || | |||
|- | |||
| OpenHardware || {{No}} || || {{No}} || {{Yes}} || {{Yes}} || {{No}} || | |||
|- | |||
| Updateable || JTAG || || JTAG || USB || ISP || || | |||
|- | |||
| Onboard Flash || || || || {{No}} || || - || | |||
|- | |||
| - || || || || || || || | |||
|- | |||
| - || || || || || || || | |||
|- | |||
| - || || || || || || || | |||
|- | |||
| - || || || || || || || | |||
|- | |||
| - || || || || || || || | |||
|- | |||
| - || || || || || || || | |||
|- | |||
| - || || || || || || || | |||
|- | |||
|} | |||
== Old reference == | == Old reference == | ||
Line 709: | Line 334: | ||
===NAND=== | ===NAND=== | ||
NAND (256MB, old FAT models, needs 32 wires, 15 per NAND | NAND (256MB, old FAT models, needs 32 wires, 15 per NAND + GND + VCC)<br /> | ||
2 chips: Samsung K9F1G08U0A-PIB0 | 2 chips: Samsung K9F1G08U0A-PIB0 | ||
*http://www.uchobby.com/index.php/2007/05/05/read-embedded-flash-chips/ | |||
*[http://www.multiupload.com/KKSLGMGDJR NAND_Dumper_Extractor.rar (1.55 MB)] | |||
[http://www.sendspace.com/file/qhwkm5 FlowRebuilder v.4.1.0.0] | |||
===NOR=== | ===NOR=== | ||
Line 732: | Line 362: | ||
(Note : PIC32 flasher for Spansion is very slow: dumping 16MB = ~15min / writing full dump = 4 hours) | (Note : PIC32 flasher for Spansion is very slow: dumping 16MB = ~15min / writing full dump = 4 hours) | ||
*[ | *[http://git.dashhacks.com/norway NORway for Teensy++ 2.0] | ||
** [http://rootedsystem.com/2011/07/norway-allows-flashing-the-ps3-nor-using-the-teensy-2-0/ NORway Teensy] / [http://www.mediafire.com/?ir89sxupwspp3j4 NORway_v0.1.zip] | ** [http://rootedsystem.com/2011/07/norway-allows-flashing-the-ps3-nor-using-the-teensy-2-0/ NORway Teensy] / [http://www.mediafire.com/?ir89sxupwspp3j4 NORway_v0.1.zip] | ||
---- | ---- | ||
Line 756: | Line 381: | ||
[http://www.atmel.com/dyn/resources/prod_documents/7593S.pdf Atmel AT90USB1286 datasheet] | [http://www.atmel.com/dyn/resources/prod_documents/7593S.pdf Atmel AT90USB1286 datasheet] | ||
== NORway / Teensy experimental | == NORway / Teensy experimental samsung support == | ||
'''THIS IS UNTESTED CODE! DO NOT TRY THIS UNLESS YOU HAVE A VERIFIED GOOD DUMP OF YOUR FLASH AND ARE WILLING TO WORK OUT ANY BUGS IN FLASH WRITING!!!''' | '''THIS IS UNTESTED CODE! DO NOT TRY THIS UNLESS YOU HAVE A VERIFIED GOOD DUMP OF YOUR FLASH AND ARE WILLING TO WORK OUT ANY BUGS IN FLASH WRITING!!!''' | ||
This modification of NORway.py attempts to support samsung | This modification of NORway.py attempts to support samsung flash chips. It performs a chip erase (with a22 low then high) then programs the entire flash using unlocked, single-word programming. Programming ranges is not supported because partial erasing is not implemented. Programming will be '''slow''' because it waits for RY after programming every single word. The author's teensy install has EMI issues so they were '''not able to test this code'''! The file works with NORway's original Teensy firmware. | ||
[http://pastie.org/2527251] | [http://pastie.org/2527251] | ||