четверг, 26 июля 2012 г.

Как я разобрался с ошибкой 8002AE22 при обновлении Gran Turismo 5

Наконец до меня добрался из Великобритании диск с игрой Gran Turismo 5 для PlayStation 3. Я знал, что за время, которое прошло с момента выхода игры, скопилось достаточное количество обновлений и вполне был готов к их длительному скачиванию. Но не всё пошло гладко! Сразу после запуска была обнаружена новая версия игры (2.07) и мне было предложено скачать и установить 17 файлов обновлений. Благополучно скачались и установились первый два файла объёмом 600 и 300 мегабайт. Третий файл объёмом 47 мегабайт скачался, но при его установке вылетела ошибка 8002AE22. Я попытался скачать и установить этот файл ещё несколько раз (благо первые два файла уже не требовалось качать и устанавливать), но каждый раз я тепел фиаско с ошибкой 8002AE22. За помощью полез в Интернет. Для начала я выяснил, что я такой не один, а достаточное количество людей сталкиваются с подобной проблемой. Напрягло другое: ни в одном из топиков я не встретил решения проблемы. Предлагались разные теоретические методы начиная от удаления и переустановки игры до полного форматирования жёсткого диска приставки. Также я встретил упоминания, что в некоторых случаях помогало, если люди обновляли игру подключившись к Интернету через другого провайдера, так как якобы некоторые Интернет-провайдеры не дают правильно скачивать обновления и портят приходящие пакеты. Высказывались и всякие другие предположения, которые, как оказалось на деле, не имеют под собой никакой почвы. За два дня бесчисленных экспериментов я выяснил почему возникает эта ошибка и как её обойти. Безусловно, это по большей части лишь мои предположения, основанные на личных экспериментах, но я на 90% уверен, что дело обстоит именно так как я себе это представляю. Я не буду расписывать в подробностях как я скачивал пакеты с разных адресов, сверял контрольные суммы, умышленно портил пакеты, подсовывал при обновлениях другие пакеты и т. д. и т. п. пока не пришёл к истине, я поделюсь лишь итогами своих изысканий.

Во-первых, если вы получаете ошибку 8002AE22, то с вашим Интернетом всё в порядке, данные не испортились по дороге и скачиваются должным образом. Во-вторых, никакие удаления и повторные установки игры не смогут помочь преодолеть эту ошибку.

Почему же всё-таки возникает эта ошибка? Как известно, Gran Turismo 5 поддерживает множество языков, но при этом игра, купленная в Великобритании, позволила мне выбрать лишь один из трёх языков: русский, греческий или турецкий. Место на жёстком диске ограничено, а поддержка каждого отдельного языка требует определённого дискового пространства, которое отнимается, даже если вам нужен только один язык. С целью экономии места все поддерживаемые языки были поделены на небольшие группы, чтобы в итоге скачивалось обновление только для нужного языка (русского), ну и парочки других (греческого и турецкого). Такими образом, когда я запустил игру, она по системным переменным (язык интерфейса) определила, что игрока, то есть меня, интересует русский язык, потому что у меня стоит регион Россия и выбран русский интерфейс, и выбрала языковую группу, где нужный язык присутствует, то есть группу русский-греческий-турецкий. С этого момента по задумке авторов все дальнейшие обновления будут скачиваться только для моего языка, а, например, французы, будут качать обновления только для французского языка, немцы — для немецкого и т. д. Но ведь не все же изменения в обновлениях затрагивают язык, есть и такие, которые лишь исправляют какие-то ошибки в игровом движке, либо вносят какие-то визуальные улучшения. Такие обновления будут идентичны для любого языка. Уж не знаю с какой целью, но обновления, затрагивающие язык, для разных регионов имеют не только одинаковое название пакетов, но также и одинаковую дину. При таком подходе становится сложно определить пакет с каким содержимым отдавать, если запрос может прийти с любой страны. Ребята из Sony выкрутились просто: если IP адрес, с которого пришёл запрос принадлежит, например, России, то значит нужно отдавать обновления с русским языков. Если же обновление одинаково для любого языка, то можно отдавать тот единый пакет, который имеется в наличии. Вот на этом-то этапе и происходит сбой! Сервера обновлений Sony ошибочно определяют региональную принадлежность для некоторых диапазонов IP адресов и отдают пакеты с неправильным языком, а приставка, получив такие пакеты, отказывается их устанавливать и рапортует об ошибке 8002AE22. В моей ситуации первые два обновления (1.05 и 1.06) не затрагивали язык, поэтому без проблем скачались и установились. Третье обновление (1.07) уже содержало языковые различия, но из-за того, что IP моего провайдера был ошибочно причислен к другой стране (какой именно я не стал выяснять, хотя теоретически можно), пакет отдавался без русского языка и установка прерывалась ошибкой 8002AE22.

На текущий момент для моей версии игры вышли обновления с порядковыми номерами от 1.05 до 1.13 (9 штук) и от 2.00 до 2.07 (8 штук). Из них обновления с порядковыми номерами 1.07, 1.11, 1.12, 2.00 и 2.05 имеют региональную зависимость, вот с ними-то и будут проблемы.

Существует два пути, чтобы побороть данную ошибку. Во-первых, это отнести приставку к товарищу, который пользуется услугами другого провайдера и попытаться обновить игру у него, есть шанс, что Sony его провайдера правильно причисляет к России. Во-вторых можно найти и скачать правильные пакеты и установить их дома, воспользовавшись программой PS3 Proxy Server GUI. Я не буду описывать как пользоваться этой программой, так как в Интернете достаточно инструкций с картинками, в том числе и на YouTube. Но далеко не лишним будет привести контрольные суммы (SHA1) для корректных пакетов российского региона. На всякий случай привожу список всех 17-ти пакетов, а не только различающихся, в зависимости от языка (со ссылками на скачивае с официального сервера обновлений Sony):

d4c4e460bb6342a66fbf3a9d0c1ce5f2b98dee3d *
EP9001-BCES00569_00-0000000000000000-A0105-V0100-PE.pkg

7ca1b7eb0025f32b15f9958615d20a0eddb4d105 *
EP9001-BCES00569_00-0000000000000000-A0106-V0101-PE.pkg

6eb81528755e2bcbc52e5330b846246efae53a06 *
 EP9001-BCES00569_00-0000000000000000-A0107-V0100-PE.pkg

9c9d189395eed9ea5a295c7eb437227a68aee1bc *
EP9001-BCES00569_00-0000000000000000-A0108-V0100-PE.pkg

2bea1b88fde119f42fefd33b2bd4774ff0b56536 *
EP9001-BCES00569_00-0000000000000000-A0109-V0100-PE.pkg

5fe2c11d3a540f4de4cf357a9573228e504b46bd *
EP9001-BCES00569_00-0000000000000000-A0110-V0100-PE.pkg

fcc37d7ead01e5078c335a7152942a26b81238ad *
 EP9001-BCES00569_00-0000000000000000-A0111-V0101-PE.pkg

d8f7c66178feef2565056659016fed955e3adc08 * 
EP9001-BCES00569_00-0000000000000000-A0112-V0100-PE.pkg

8c13b7478d73e9000046b1ad88a697b55de3ffbc *
EP9001-BCES00569_00-0000000000000000-A0113-V0100-PE.pkg

12b968ed5448d187267b5d9c6fcd26bae9acdcb5 *
 EP9001-BCES00569_00-0000000000000000-A0200-V0100-PE.pkg

70237a74c1a57a5c77e05a52d910f6ae53e5bf98 *
EP9001-BCES00569_00-0000000000000000-A0201-V0100-PE.pkg

1b593bb219689e0ce75b50c7f17be83054fa656a *
EP9001-BCES00569_00-0000000000000000-A0202-V0100-PE.pkg

c8818afb50e15241d7f9d9d6d87e02c3b8aca035 *
EP9001-BCES00569_00-0000000000000000-A0203-V0100-PE.pkg

31aeb62b87a56fd4f16fd7bb5d27fbd2a0b198ea *
EP9001-BCES00569_00-0000000000000000-A0204-V0100-PE.pkg

48370a10f738ca98de81b52f3469873710be5154 * 
EP9001-BCES00569_00-0000000000000000-A0205-V0100-PE.pkg

7aedb52ab2fdcbbcdc6cd9dac4fea404baa5c73c *
EP9001-BCES00569_00-0000000000000000-A0206-V0100-PE.pkg

b896283a6d03f7ccffc777fe107d23949210a800 *
EP9001-BCES00569_00-0000000000000000-A0207-V0100-PE.pkg


Обновления, помеченные красным цветом, с одних и тех же ссылок через разных провайдеров могут скачиваться по-разному! Ваша задача, чтобы у каждого скачанного файла контрольная сумма совпала с той, которую я указал. Пробуйте разных провайдеров, используйте прокси, ищите иные пути.

Кроме сервера, с которого пыталась скачать обновления моя приставка:

http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T45/c1f48a0611e26b05/

мне удалось найти ещё несколько:

http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T19/17a7ffe74543aa2c/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T20/2a9623693606657f/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T24/f32d4a016cd28b3c/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T29/32e4a8b0e9e93746/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T31/acea8bfad109a8f2/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T34/39dc1dc3216db024/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T36/fb86c3c5d2904bcc/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T38/721c9fd5daf20107/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T40/4b9e6c6774eed2ec/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T42/4084d9150f2f6390/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T43/cda29e5973ada15e/
http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T44/0ebac45f22ee302d/

Чтобы качать с этих серверов, нужно после слэша вписывать имя нужного файла. Например, если требуется скачать обновление EP9001-BCES00569_00-0000000000000000-A0106-V0100-PE.pkg с сервера http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T40/4b9e6c6774eed2ec/, то полный адрес нужно указывать так:

http://b0.ww.np.dl.playstation.net/tppkg/np/BCES00569/BCES00569_T40/4b9e6c6774eed2ec/EP9001-BCES00569_00-0000000000000000-A0106-V0100-PE.pkg

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

Безусловно, ошибка 8002AE22 - это целиком и полностью вина Sony, от которой страдают люди по всему миру. И я надеюсь, что результаты моих экспериментов помогут разобраться с этой неприятной проблемой.

1 комментарий: