GAJARIA, Bangladesh : Divers battled Friday to recover bodies trapped in the wreckage of a Bangladesh ferry that was sunk by a giant wave, as the death toll from the disaster rose to 29 with scores more feared drowned.

As survivors blamed the captain of the MV Miraz for refusing to take shelter from a gathering storm, an investigation was launched into whether it had been carrying too many passengers. Bangladesh is no stranger to ferry disasters, with overcrowding and poor ship design and maintenance often to blame.

Officials said as many as 200 people may have been on the ferry when it sank to the bottom of the river Meghna on Thursday afternoon, some 50 kilometres (30 miles) southeast of the capital Dhaka.

As distraught relatives gathered by the side of the river where bodies were being laid out, hopes were raised briefly after two salvage vessels lifted a part of the sunken ship in an effort to drag it to shore. But the ropes snapped and the ship sank again.

Bangladesh's water transport authority chief Shamsuddoha Khandaker told AFP the 90 feet (30 metres)-long ship capsized after it was hit by "giant waves" unleashed by an early summer storm.

"Many of the passengers rushed to the lower decks of the ship to escape from heavy wind. They were trapped. I am afraid most of the bodies will be found there," he said.

Khandaker said up to 40 people were able to swim to safety or were rescued by fishing boats.

"The death toll now stands at 29, including 16 women and children," local police chief Ferdous Ahmed said.

The exact number of passengers was not immediately known as Bangladeshi ferries do not maintain passenger logbooks.

Officials had initially said up to 350 people could have been on board when the ferry capsized on Thursday, but Khandaker said the number was thought to be smaller.

"It is a mid-sized ferry. It can carry around 500 passengers without cargo. But from what we have gathered so far, it was carrying around 150-200 passengers at the time of the accident," he said.

An investigation has been ordered into whether the vessel was carrying more than its capacity or whether it had structural faults.

Some survivors blamed the skipper for defying calls to abort the journey as the weather worsened.

"The sky became black and dozens of us pleaded with him to take the ship to the nearest shore as we saw the storm coming. He did not listen to us," survivor Mohammad Ali told AFP.

"The storm unleashed three huge waves. The ferry survived the first two, but the third tilted and then sank the vessel within minutes.

"I was holding the hand of my wife and she was tightly holding our six-year-old son to her chest," the garment worker added.

"After the third wave, I did not see them again," Ali, struggling to hold back tears, said on the banks of the river.

Another wailed for his missing son. "My son said 'Father please save me, please save me' but I couldn't," he said.

Hundreds of distraught relatives gathered on the banks of the river as the bodies were laid in lines in order to be identified. Others accompanied rescuers on boats as they searched for the missing passengers.

Ferry accidents are common in Bangladesh, one of Asia's poorest nations which is criss-crossed by more than 230 rivers.

Experts blame poorly maintained vessels, flaws in design and overcrowding for most of the tragedies.

Many of the shipping accidents occur during the early summer months of April and May when unpredictable storms known locally as Kalboishakhi hit Bangladesh in the lead-up to the monsoon, which generally begins in the first week of June.

Boats are the main form of travel in much of Bangladesh's remote rural areas, especially in the southern and northeastern regions.

Some 150 people were killed in the same district in March 2012 after an overcrowded ferry carrying about 200 passengers sank when it was hit by an oil barge in the middle of the night.

Officials have said more than 95 percent of Bangladesh's hundreds of thousands of small and medium-sized boats do not meet minimum safety regulations.